]> git.ipfire.org Git - pakfire.git/commitdiff
archive: Do not fail when there have been warnings on extraction
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 20 Apr 2021 11:36:15 +0000 (11:36 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 20 Apr 2021 11:36:15 +0000 (11:36 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/archive.c

index 8a1aa8fe1b2778d366e079cf3b0ab6a34858ec66..d36166452c4a3613576400ec79dc2bf6f6ae3ed0 100644 (file)
@@ -837,10 +837,22 @@ static int pakfire_archive_extract_entry(PakfireArchive archive,
 
        // Create file & extract payload
        r = archive_read_extract2(a, entry, extractor->writer);
-       if (r != ARCHIVE_OK) {
-               ERROR(archive->pakfire, "Could not extract file %s: %s\n",
-                       path, archive_error_string(extractor->writer));
-               goto ERROR;
+       switch (r) {
+               case ARCHIVE_OK:
+                       break;
+
+               case ARCHIVE_WARN:
+                       ERROR(archive->pakfire, "There was a problem extracting %s: %s\n",
+                               path, archive_error_string(extractor->writer));
+
+                       // Pretend everything has been okay
+                       r = ARCHIVE_OK;
+                       break;
+
+               case ARCHIVE_FATAL:
+                       ERROR(archive->pakfire, "Could not extract file %s: %s\n",
+                               path, archive_error_string(extractor->writer));
+                       goto ERROR;
        }
 
 ERROR: