From: Michael Schroeder Date: Thu, 23 Nov 2023 11:54:53 +0000 (+0100) Subject: Rewrite strlen_comp so that it no longer has its own list of compression types X-Git-Tag: 0.7.27~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ae08a512daa62c763f48a68f71233d61fecf5fb3;p=thirdparty%2Flibsolv.git Rewrite strlen_comp so that it no longer has its own list of compression types --- diff --git a/tools/installcheck.c b/tools/installcheck.c index 49568908..10c669a2 100644 --- a/tools/installcheck.c +++ b/tools/installcheck.c @@ -52,21 +52,11 @@ usage(char** argv) } #if defined(ENABLE_SUSEREPO) || defined(ENABLE_RPMMD) || defined(ENABLE_DEBIAN) || defined(ENABLE_ARCHREPO) -static int +static size_t strlen_comp(const char *str) { - size_t l = strlen(str); - if (l > 3 && !strcmp(str + l - 3, ".gz")) - return l - 3; - if (l > 3 && !strcmp(str + l - 3, ".xz")) - return l - 3; - if (l > 4 && !strcmp(str + l - 4, ".bz2")) - return l - 4; - if (l > 4 && !strcmp(str + l - 4, ".zst")) - return l - 4; - if (l > 5 && !strcmp(str + l - 5, ".lzma")) - return l - 5; - return l; + const char *suf = strrchr(str, '.'); + return strlen(str) - (suf && solv_xfopen_iscompressed(suf) ? strlen(suf) : 0); } #endif @@ -105,7 +95,7 @@ main(int argc, char **argv) FILE *fp; int r; #if defined(ENABLE_SUSEREPO) || defined(ENABLE_RPMMD) || defined(ENABLE_DEBIAN) || defined(ENABLE_ARCHREPO) - int l; + size_t l; #endif if (!strcmp(argv[i], "--withsrc"))