summaryrefslogtreecommitdiff
path: root/archivers/libarchive/files/tar/read.c
diff options
context:
space:
mode:
Diffstat (limited to 'archivers/libarchive/files/tar/read.c')
-rw-r--r--archivers/libarchive/files/tar/read.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/archivers/libarchive/files/tar/read.c b/archivers/libarchive/files/tar/read.c
index 4eb2a86c29c..b52c1ee0d54 100644
--- a/archivers/libarchive/files/tar/read.c
+++ b/archivers/libarchive/files/tar/read.c
@@ -24,7 +24,7 @@
*/
#include "bsdtar_platform.h"
-__FBSDID("$FreeBSD: src/usr.bin/tar/read.c,v 1.33 2007/05/29 05:39:10 kientzle Exp $");
+__FBSDID("$FreeBSD: src/usr.bin/tar/read.c,v 1.34 2007/07/20 01:24:49 kientzle Exp $");
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
@@ -129,15 +129,15 @@ read_archive(struct bsdtar *bsdtar, char mode)
break;
if (r < ARCHIVE_OK)
bsdtar_warnc(bsdtar, 0, "%s", archive_error_string(a));
+ if (r <= ARCHIVE_WARN)
+ bsdtar->return_value = 1;
if (r == ARCHIVE_RETRY) {
/* Retryable error: try again */
bsdtar_warnc(bsdtar, 0, "Retrying...");
continue;
}
- if (r != ARCHIVE_OK) {
- bsdtar->return_value = 1;
+ if (r == ARCHIVE_FATAL)
break;
- }
/*
* Exclude entries that are too old.