diff options
author | kientzle <kientzle@FreeBSD.org> | 2007-03-11 10:29:52 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2007-03-11 10:29:52 +0000 |
commit | c533ace5debb7bd4b941d9cb5ab620dc140cf83f (patch) | |
tree | 2deb823f3313d605e925a0e66c615bbb45f0f5fd /lib/libarchive/archive_write_disk.c | |
parent | 34561352cbc954916132a5235b0cfbca17080003 (diff) | |
download | FreeBSD-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.c | 5 |
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)) { |