]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Also set errno for unsupported compressions in solv_xfopen_fd()
authorMichael Schroeder <mls@suse.de>
Thu, 16 May 2024 13:46:23 +0000 (15:46 +0200)
committerMichael Schroeder <mls@suse.de>
Thu, 16 May 2024 13:46:23 +0000 (15:46 +0200)
ext/solv_xfopen.c

index e23ea5963faaacbc645101c4c2c0ab5d72743ff4..398a7d43a9a7e2ddcc43182e7ca89717704dfc11 100644 (file)
@@ -764,7 +764,10 @@ solv_xfopen_fd(const char *fn, int fd, const char *mode)
     return mygzfdopen(fd, simplemode);
 #else
   if (suf && !strcmp(suf, ".gz"))
-    return 0;
+    {
+      errno = ENOTSUP;
+      return 0;
+    }
 #endif
 #ifdef ENABLE_LZMA_COMPRESSION
   if (suf && !strcmp(suf, ".xz"))
@@ -773,9 +776,15 @@ solv_xfopen_fd(const char *fn, int fd, const char *mode)
     return mylzfdopen(fd, simplemode);
 #else
   if (suf && !strcmp(suf, ".xz"))
-    return 0;
+    {
+      errno = ENOTSUP;
+      return 0;
+    }
   if (suf && !strcmp(suf, ".lzma"))
-    return 0;
+    {
+      errno = ENOTSUP;
+      return 0;
+    }
 #endif
 #ifdef ENABLE_BZIP2_COMPRESSION
   if (suf && !strcmp(suf, ".bz2"))
@@ -789,14 +798,20 @@ solv_xfopen_fd(const char *fn, int fd, const char *mode)
     return myzstdfdopen(fd, simplemode);
 #else
   if (suf && !strcmp(suf, ".zst"))
-    return 0;
+    {
+      errno = ENOTSUP;
+      return 0;
+    }
 #endif
 #ifdef ENABLE_ZCHUNK_COMPRESSION
   if (suf && !strcmp(suf, ".zck"))
     return myzchunkfdopen(fd, simplemode);
 #else
   if (suf && !strcmp(suf, ".zck"))
-    return 0;
+    {
+      errno = ENOTSUP;
+      return 0;
+    }
 #endif
   return fdopen(fd, mode);
 }