diff options
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | URPM.xs | 8 |
2 files changed, 6 insertions, 4 deletions
@@ -1,3 +1,5 @@ +- fix support for hdlist compressed with !gzip + Version 5.23.2 - 30 December 2019 - restore compatibility with rpm build w/o support for zstd @@ -993,13 +993,13 @@ open_archive(char *filename, int *empty_archive) { } else { /* this is an archive, prepare for reading with uncompress defined inside */ rfd = Fopen(filename, "r.fdio"); - if (strcmp(buf.uncompress, "gzip")) + if (!strncmp(buf.uncompress, "gzip", 4)) rfd = Fdopen(rfd, "r.gzip"); - else if (strcmp(buf.uncompress, "bzip")) + else if (!strncmp(buf.uncompress, "bzip2", 4)) rfd = Fdopen(rfd, "r.bzip2"); - else if (strcmp(buf.uncompress, "xz") || strcmp(buf.uncompress, "lzma")) + else if (!strncmp(buf.uncompress, "xz", 2) || !strncmp(buf.uncompress, "lzma", 4)) rfd = Fdopen(rfd, "r.xz"); - else if (strcmp(buf.uncompress, "zstd")) + else if (!strncmp(buf.uncompress, "zstd", 4)) rfd = Fdopen(rfd, "r.zstd"); else { free(rfd); |