summaryrefslogtreecommitdiffstats
path: root/lib/libarchive/archive_write_disk.c
diff options
context:
space:
mode:
authorbmah <bmah@FreeBSD.org>2007-09-18 20:20:37 +0000
committerbmah <bmah@FreeBSD.org>2007-09-18 20:20:37 +0000
commit995bfd1477d1c3d1836b1ff0885ffc89fe5e5b24 (patch)
tree4839bee4b8938a16a2a864c0f2749bd275f8dae7 /lib/libarchive/archive_write_disk.c
parent11cf0c8f4afb80ff2841903168d1613cdffb3f81 (diff)
downloadFreeBSD-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.c11
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
OpenPOWER on IntegriCloud