summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Genoud <[email protected]>2026-03-13 11:42:24 +0100
committerTom Rini <[email protected]>2026-03-26 11:04:28 -0600
commit0fe2801730edb99e24b601b043ec5595af319274 (patch)
tree5e0ff8123fdd8a0162b2d520665a558fa713041d
parentf0b4f502bdd5f17da58aca9ebf86e16e96e0d347 (diff)
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 <[email protected]> Reviewed-by: Miquel Raynal <[email protected]> Reviewed-by: João Marcos Costa <[email protected]>
-rw-r--r--fs/squashfs/sqfs_decompressor.c49
1 files changed, 12 insertions, 37 deletions
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)