lib/decompress.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-)
Switch 'compressed_formats[]' to the more modern and flexible designated
initializers. This improves readability and allows struct fields to be
reordered. Also use a more concise sentinel marker.
Remove the curly braces around the for loop while we're at it.
No functional changes intended.
Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
lib/decompress.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/lib/decompress.c b/lib/decompress.c
index ab3fc90ffc64..7785471586c6 100644
--- a/lib/decompress.c
+++ b/lib/decompress.c
@@ -49,15 +49,15 @@ struct compress_format {
};
static const struct compress_format compressed_formats[] __initconst = {
- { {0x1f, 0x8b}, "gzip", gunzip },
- { {0x1f, 0x9e}, "gzip", gunzip },
- { {0x42, 0x5a}, "bzip2", bunzip2 },
- { {0x5d, 0x00}, "lzma", unlzma },
- { {0xfd, 0x37}, "xz", unxz },
- { {0x89, 0x4c}, "lzo", unlzo },
- { {0x02, 0x21}, "lz4", unlz4 },
- { {0x28, 0xb5}, "zstd", unzstd },
- { {0, 0}, NULL, NULL }
+ { .magic = {0x1f, 0x8b}, .name = "gzip", .decompressor = gunzip },
+ { .magic = {0x1f, 0x9e}, .name = "gzip", .decompressor = gunzip },
+ { .magic = {0x42, 0x5a}, .name = "bzip2", .decompressor = bunzip2 },
+ { .magic = {0x5d, 0x00}, .name = "lzma", .decompressor = unlzma },
+ { .magic = {0xfd, 0x37}, .name = "xz", .decompressor = unxz },
+ { .magic = {0x89, 0x4c}, .name = "lzo", .decompressor = unlzo },
+ { .magic = {0x02, 0x21}, .name = "lz4", .decompressor = unlz4 },
+ { .magic = {0x28, 0xb5}, .name = "zstd", .decompressor = unzstd },
+ { /* sentinel */ }
};
decompress_fn __init decompress_method(const unsigned char *inbuf, long len,
@@ -73,11 +73,10 @@ decompress_fn __init decompress_method(const unsigned char *inbuf, long len,
pr_debug("Compressed data magic: %#.2x %#.2x\n", inbuf[0], inbuf[1]);
- for (cf = compressed_formats; cf->name; cf++) {
+ for (cf = compressed_formats; cf->name; cf++)
if (!memcmp(inbuf, cf->magic, 2))
break;
- }
if (name)
*name = cf->name;
return cf->decompressor;
--
2.51.0
On Thu, Sep 11, 2025 at 01:23:51AM +0200, Thorsten Blum wrote: > Switch 'compressed_formats[]' to the more modern and flexible designated > initializers. This improves readability and allows struct fields to be > reordered. Also use a more concise sentinel marker. > > Remove the curly braces around the for loop while we're at it. > > No functional changes intended. > > Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev> Reviewed-by: Kuan-Wei Chiu <visitorckw@gmail.com> Regards, Kuan-Wei > --- > lib/decompress.c | 21 ++++++++++----------- > 1 file changed, 10 insertions(+), 11 deletions(-) > > diff --git a/lib/decompress.c b/lib/decompress.c > index ab3fc90ffc64..7785471586c6 100644 > --- a/lib/decompress.c > +++ b/lib/decompress.c > @@ -49,15 +49,15 @@ struct compress_format { > }; > > static const struct compress_format compressed_formats[] __initconst = { > - { {0x1f, 0x8b}, "gzip", gunzip }, > - { {0x1f, 0x9e}, "gzip", gunzip }, > - { {0x42, 0x5a}, "bzip2", bunzip2 }, > - { {0x5d, 0x00}, "lzma", unlzma }, > - { {0xfd, 0x37}, "xz", unxz }, > - { {0x89, 0x4c}, "lzo", unlzo }, > - { {0x02, 0x21}, "lz4", unlz4 }, > - { {0x28, 0xb5}, "zstd", unzstd }, > - { {0, 0}, NULL, NULL } > + { .magic = {0x1f, 0x8b}, .name = "gzip", .decompressor = gunzip }, > + { .magic = {0x1f, 0x9e}, .name = "gzip", .decompressor = gunzip }, > + { .magic = {0x42, 0x5a}, .name = "bzip2", .decompressor = bunzip2 }, > + { .magic = {0x5d, 0x00}, .name = "lzma", .decompressor = unlzma }, > + { .magic = {0xfd, 0x37}, .name = "xz", .decompressor = unxz }, > + { .magic = {0x89, 0x4c}, .name = "lzo", .decompressor = unlzo }, > + { .magic = {0x02, 0x21}, .name = "lz4", .decompressor = unlz4 }, > + { .magic = {0x28, 0xb5}, .name = "zstd", .decompressor = unzstd }, > + { /* sentinel */ } > }; > > decompress_fn __init decompress_method(const unsigned char *inbuf, long len, > @@ -73,11 +73,10 @@ decompress_fn __init decompress_method(const unsigned char *inbuf, long len, > > pr_debug("Compressed data magic: %#.2x %#.2x\n", inbuf[0], inbuf[1]); > > - for (cf = compressed_formats; cf->name; cf++) { > + for (cf = compressed_formats; cf->name; cf++) > if (!memcmp(inbuf, cf->magic, 2)) > break; > > - } > if (name) > *name = cf->name; > return cf->decompressor; > -- > 2.51.0 >
© 2016 - 2025 Red Hat, Inc.