// 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: