Add macro to check if swap_type is an upgrade
This allows refactoring a check that was done in multiple places looking
for the same swap types.
Also fixes an issue where dependency checks would be run if a swap type
had a value that indicates fail.
Signed-off-by: Fabio Utzig <utzig@apache.org>
diff --git a/boot/bootutil/src/bootutil_priv.h b/boot/bootutil/src/bootutil_priv.h
index 4e5d2aa..51d27a9 100644
--- a/boot/bootutil/src/bootutil_priv.h
+++ b/boot/bootutil/src/bootutil_priv.h
@@ -277,6 +277,11 @@
#define BOOT_SWAP_TYPE(state) ((state)->swap_type[BOOT_CURR_IMG(state)])
#define BOOT_TLV_OFF(hdr) ((hdr)->ih_hdr_size + (hdr)->ih_img_size)
+#define BOOT_IS_UPGRADE(swap_type) \
+ (((swap_type) == BOOT_SWAP_TYPE_TEST) || \
+ ((swap_type) == BOOT_SWAP_TYPE_REVERT) || \
+ ((swap_type) == BOOT_SWAP_TYPE_PERM))
+
static inline struct image_header*
boot_img_hdr(struct boot_loader_state *state, size_t slot)
{