diff mbox series

[v3,06/15] image: Avoid switch default in image_decomp()

Message ID 20210801150024.v3.6.Ieb772c007c48b64bcd9e162f57191522edf964ba@changeid
State Superseded
Delegated to: Tom Rini
Headers show
Series image: A partial series for the image clean-up | expand

Commit Message

Simon Glass Aug. 1, 2021, 9 p.m. UTC
At present this function is full of preprocessor macros. Adjust it to
check for an unsupported algorithm after the switch(). This will allow
us to drop the macros.

Fix up the return-value path and an extra blank line while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 common/image.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
diff mbox series

Patch

diff --git a/common/image.c b/common/image.c
index 062e08886fd..6c38211efce 100644
--- a/common/image.c
+++ b/common/image.c
@@ -444,7 +444,7 @@  int image_decomp(int comp, ulong load, ulong image_start, int type,
 		 void *load_buf, void *image_buf, ulong image_len,
 		 uint unc_len, ulong *load_end)
 {
-	int ret = 0;
+	int ret = -ENOSYS;
 
 	*load_end = load;
 	print_decomp_msg(comp, type, load == image_start);
@@ -456,6 +456,7 @@  int image_decomp(int comp, ulong load, ulong image_start, int type,
 	 */
 	switch (comp) {
 	case IH_COMP_NONE:
+		ret = 0;
 		if (load == image_start)
 			break;
 		if (image_len <= unc_len)
@@ -537,22 +538,23 @@  int image_decomp(int comp, ulong load, ulong image_start, int type,
 		}
 
 		image_len = ret;
-
 		break;
 	}
 #endif /* CONFIG_ZSTD */
 #endif
-	default:
+	}
+	if (ret == -ENOSYS) {
 		printf("Unimplemented compression type %d\n", comp);
-		return -ENOSYS;
+		return ret;
 	}
+	if (ret)
+		return ret;
 
 	*load_end = load + image_len;
 
-	return ret;
+	return 0;
 }
 
-
 #ifndef USE_HOSTCC
 #if CONFIG_IS_ENABLED(LEGACY_IMAGE_FORMAT)
 /**