diff options
author | kientzle <kientzle@FreeBSD.org> | 2006-08-01 05:31:29 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2006-08-01 05:31:29 +0000 |
commit | 1157b51024537d013f39373f730c9a1462a81c8b (patch) | |
tree | 7175f64b7c985347bcb4e142e6dbfaf316dc0437 /lib | |
parent | 040ba91ea800198a5f501baaa2590e9ddbcba791 (diff) | |
download | FreeBSD-src-1157b51024537d013f39373f730c9a1462a81c8b.zip FreeBSD-src-1157b51024537d013f39373f730c9a1462a81c8b.tar.gz |
If skip_file_dev and skip_file_ino haven't been set (are still == 0),
then don't use them for testing for a recursive add.
Thanks to: Spencer Minear
MFC after: 7 days
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libarchive/archive_write.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libarchive/archive_write.c b/lib/libarchive/archive_write.c index 73283e4..3a999ca 100644 --- a/lib/libarchive/archive_write.c +++ b/lib/libarchive/archive_write.c @@ -201,7 +201,9 @@ archive_write_header(struct archive *a, struct archive_entry *entry) if (a->state & ARCHIVE_STATE_DATA) ((a->format_finish_entry)(a)); - if (archive_entry_dev(entry) == a->skip_file_dev && + if (a->skip_file_dev != 0 && + archive_entry_dev(entry) == a->skip_file_dev && + a->skip_file_ino != 0 && archive_entry_ino(entry) == a->skip_file_ino) { archive_set_error(a, 0, "Can't add archive to itself"); return (ARCHIVE_WARN); |