diff options
author | bmah <bmah@FreeBSD.org> | 2007-09-18 20:20:37 +0000 |
---|---|---|
committer | bmah <bmah@FreeBSD.org> | 2007-09-18 20:20:37 +0000 |
commit | 995bfd1477d1c3d1836b1ff0885ffc89fe5e5b24 (patch) | |
tree | 4839bee4b8938a16a2a864c0f2749bd275f8dae7 /lib/libarchive/archive_write_disk.c | |
parent | 11cf0c8f4afb80ff2841903168d1613cdffb3f81 (diff) | |
download | FreeBSD-src-995bfd1477d1c3d1836b1ff0885ffc89fe5e5b24.zip FreeBSD-src-995bfd1477d1c3d1836b1ff0885ffc89fe5e5b24.tar.gz |
Revert the last commit to libarchive. It introduced some regresssions,
most noticably the incorrect extraction of files by bsdtar.
This commit reverts:
src/lib/libarchive/archive_write_disk.c 1.15
src/lib/libarchive/test/test_write_disk.c 1.4
Approved by: re (implicitly)
Diffstat (limited to 'lib/libarchive/archive_write_disk.c')
-rw-r--r-- | lib/libarchive/archive_write_disk.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/libarchive/archive_write_disk.c b/lib/libarchive/archive_write_disk.c index 0c15b77..f5fb3aa 100644 --- a/lib/libarchive/archive_write_disk.c +++ b/lib/libarchive/archive_write_disk.c @@ -444,14 +444,12 @@ _archive_write_data_block(struct archive *_a, const void *buff, size_t size, off_t offset) { struct archive_write_disk *a = (struct archive_write_disk *)_a; - ssize_t bytes_written = 0, total_written = 0; + ssize_t bytes_written = 0; __archive_check_magic(&a->archive, ARCHIVE_WRITE_DISK_MAGIC, ARCHIVE_STATE_DATA, "archive_write_disk_block"); - if (a->fd < 0) { - archive_set_error(&a->archive, 0, "File not open"); - return (ARCHIVE_WARN); - } + if (a->fd < 0) + return (ARCHIVE_OK); archive_clear_error(&a->archive); /* Seek if necessary to the specified offset. */ @@ -472,9 +470,8 @@ _archive_write_data_block(struct archive *_a, } size -= bytes_written; a->offset += bytes_written; - total_written += bytes_written; } - return (total_written); + return (ARCHIVE_OK); } static ssize_t |