From: Richard Genoud Date: Fri, 13 Mar 2026 10:42:24 +0000 (+0100) Subject: fs/squashfs: sqfs_decompressor: simplify code X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0fe2801730edb99e24b601b043ec5595af319274;p=thirdparty%2Fu-boot.git fs/squashfs: sqfs_decompressor: simplify code Switch to if (CONFIG_IS_ENABLED()) instead of #if when possible and remove unnecessary cases. Signed-off-by: Richard Genoud Reviewed-by: Miquel Raynal Reviewed-by: João Marcos Costa --- diff --git a/fs/squashfs/sqfs_decompressor.c b/fs/squashfs/sqfs_decompressor.c index d54f087274c..a156cfe6f65 100644 --- a/fs/squashfs/sqfs_decompressor.c +++ b/fs/squashfs/sqfs_decompressor.c @@ -33,57 +33,32 @@ int sqfs_decompressor_init(struct squashfs_ctxt *ctxt) { u16 comp_type = get_unaligned_le16(&ctxt->sblk->compression); - switch (comp_type) { -#if CONFIG_IS_ENABLED(LZO) - case SQFS_COMP_LZO: - break; -#endif -#if CONFIG_IS_ENABLED(ZLIB) - case SQFS_COMP_ZLIB: - break; -#endif -#if CONFIG_IS_ENABLED(LZ4) - case SQFS_COMP_LZ4: - break; -#endif + if (((CONFIG_IS_ENABLED(LZO) && comp_type == SQFS_COMP_LZO)) || + ((CONFIG_IS_ENABLED(ZLIB) && comp_type == SQFS_COMP_ZLIB)) || + ((CONFIG_IS_ENABLED(LZ4) && comp_type == SQFS_COMP_LZ4))) + return 0; + #if CONFIG_IS_ENABLED(ZSTD) - case SQFS_COMP_ZSTD: + if (comp_type == SQFS_COMP_ZSTD) { ctxt->zstd_workspace = malloc(zstd_dctx_workspace_bound()); if (!ctxt->zstd_workspace) return -ENOMEM; - break; -#endif - default: - printf("Error: unknown compression type.\n"); - return -EINVAL; + return 0; } +#endif - return 0; + printf("Error: unknown compression type.\n"); + return -EINVAL; } void sqfs_decompressor_cleanup(struct squashfs_ctxt *ctxt) { +#if CONFIG_IS_ENABLED(ZSTD) u16 comp_type = get_unaligned_le16(&ctxt->sblk->compression); - switch (comp_type) { -#if CONFIG_IS_ENABLED(LZO) - case SQFS_COMP_LZO: - break; -#endif -#if CONFIG_IS_ENABLED(ZLIB) - case SQFS_COMP_ZLIB: - break; -#endif -#if CONFIG_IS_ENABLED(LZ4) - case SQFS_COMP_LZ4: - break; -#endif -#if CONFIG_IS_ENABLED(ZSTD) - case SQFS_COMP_ZSTD: + if (comp_type == SQFS_COMP_ZSTD) free(ctxt->zstd_workspace); - break; #endif - } } #if CONFIG_IS_ENABLED(ZLIB)