diff options
Diffstat (limited to 'archivers/libarchive/files/tar/read.c')
-rw-r--r-- | archivers/libarchive/files/tar/read.c | 8 |
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. |