]> git.ipfire.org Git - pakfire.git/commitdiff
compress: Automatically detect gzip-compressed data
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 30 Jan 2025 09:15:40 +0000 (09:15 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 30 Jan 2025 09:15:40 +0000 (09:15 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/compress.c
tests/libpakfire/compress.c

index 2a3ae4dded893654a12955d3e8b0e09a16df45d4..31151631d40948e8707e542b0415ab7dcf7bae01 100644 (file)
@@ -55,6 +55,8 @@ const struct compressor {
        size_t magic_length;
        FILE* (*open)(FILE* f, const char* mode);
 } compressors[] = {
+       // Gzip
+       { { 0x1f, 0x8b }, 2, pakfire_gzfopen, },
        // XZ
        { { 0xFD, '7', 'z', 'X', 'Z', 0x00 }, 6, pakfire_xzfopen, },
        // ZSTD
index 3673f7d6c80b9374fd1588c70fea5c2f7ab1c1f4..abeca34e6b18ddc7a14eca54f3fa29fd306b1ae9 100644 (file)
@@ -117,6 +117,7 @@ static int test_zstdfopen_write(const struct test* t) {
 }
 
 static int test_xfopen(const struct test* t) {
+       ASSERT_SUCCESS(read_test(t, pakfire_xfopen, "data/compress/data.gz"));
        ASSERT_SUCCESS(read_test(t, pakfire_xfopen, "data/compress/data.xz"));
        ASSERT_SUCCESS(read_test(t, pakfire_xfopen, "data/compress/data.zst"));