]> git.ipfire.org Git - pakfire.git/commitdiff
archive: Fix return code if the archive could not be opened
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Oct 2024 00:07:12 +0000 (00:07 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 22 Oct 2024 00:07:12 +0000 (00:07 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/archive.c

index b115a94436de8b5ee1f8dbbefeee7c648b8e44a2..af3c3d9f0c08b171a08775aae58280df136f3e66 100644 (file)
@@ -224,10 +224,18 @@ static int pakfire_archive_open_archive(struct pakfire_archive* archive,
 
        // Try opening the archive file
        r = archive_read_file_open(a, archive->f);
-       if (r) {
-               CTX_ERROR(archive->ctx, "Could not open archive %s: %s\n",
-                       archive->path, archive_error_string(a));
-               goto ERROR;
+       switch (r) {
+               case ARCHIVE_OK:
+                       break;
+
+               case ARCHIVE_FATAL:
+                       r = -ENOMSG;
+                       goto ERROR;
+
+               default:
+                       CTX_ERROR(archive->ctx, "Could not open archive %s: %s\n",
+                               archive->path, archive_error_string(a));
+                       goto ERROR;
        }
 
        // Return pointer