summaryrefslogtreecommitdiffstats
path: root/lib/libarchive/archive_write_disk.c
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2007-03-11 10:29:52 +0000
committerkientzle <kientzle@FreeBSD.org>2007-03-11 10:29:52 +0000
commitc533ace5debb7bd4b941d9cb5ab620dc140cf83f (patch)
tree2deb823f3313d605e925a0e66c615bbb45f0f5fd /lib/libarchive/archive_write_disk.c
parent34561352cbc954916132a5235b0cfbca17080003 (diff)
downloadFreeBSD-src-c533ace5debb7bd4b941d9cb5ab620dc140cf83f.zip
FreeBSD-src-c533ace5debb7bd4b941d9cb5ab620dc140cf83f.tar.gz
Libarchive 2.0.23:
* The ACL formatter was mis-formatting entries which had a user/group ID but no name. Make the parser tolerant of these, so that old archives can be correctly restored; fix the formatter to generate correct entries. * Fix overwrite detection by introducing a new "FAILED" return code that indicates the current entry cannot be continued but the archive as a whole is still sound. * Header cleanup: Remove some unused headers, add some that are required with new Linux systems.
Diffstat (limited to 'lib/libarchive/archive_write_disk.c')
-rw-r--r--lib/libarchive/archive_write_disk.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libarchive/archive_write_disk.c b/lib/libarchive/archive_write_disk.c
index f6187b8..1f8f0ce 100644
--- a/lib/libarchive/archive_write_disk.c
+++ b/lib/libarchive/archive_write_disk.c
@@ -58,6 +58,9 @@ __FBSDID("$FreeBSD$");
#ifdef HAVE_GRP_H
#include <grp.h>
#endif
+#ifdef HAVE_LINUX_FS_H
+#include <linux/fs.h> /* for Linux file flags */
+#endif
#ifdef HAVE_LINUX_EXT2_FS_H
#include <linux/ext2_fs.h> /* for Linux file flags */
#endif
@@ -697,7 +700,7 @@ restore_entry(struct archive_write_disk *a)
a->st.st_dev == a->skip_file_dev &&
a->st.st_ino == a->skip_file_ino) {
archive_set_error(&a->archive, 0, "Refusing to overwrite archive");
- return (ARCHIVE_WARN);
+ return (ARCHIVE_FAILED);
}
if (!S_ISDIR(a->st.st_mode)) {
OpenPOWER on IntegriCloud