diff options
author | kientzle <kientzle@FreeBSD.org> | 2004-04-28 04:41:27 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2004-04-28 04:41:27 +0000 |
commit | 4f6d19ce20f8f561fa9e1fe7261d5a9991cd68de (patch) | |
tree | bde271e0176f2528e906220fb052eacb00d57033 /lib/libarchive/archive_write_set_compression_bzip2.c | |
parent | d6382fb16020a26e25981a0a7a51cb75aa79485e (diff) | |
download | FreeBSD-src-4f6d19ce20f8f561fa9e1fe7261d5a9991cd68de.zip FreeBSD-src-4f6d19ce20f8f561fa9e1fe7261d5a9991cd68de.tar.gz |
Add statistics: track offset in compressed and uncompressed archive,
provide an interface for the client to query this information.
Diffstat (limited to 'lib/libarchive/archive_write_set_compression_bzip2.c')
-rw-r--r-- | lib/libarchive/archive_write_set_compression_bzip2.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libarchive/archive_write_set_compression_bzip2.c b/lib/libarchive/archive_write_set_compression_bzip2.c index 85e4870..f044a0c 100644 --- a/lib/libarchive/archive_write_set_compression_bzip2.c +++ b/lib/libarchive/archive_write_set_compression_bzip2.c @@ -172,6 +172,7 @@ archive_compressor_bzip2_write(struct archive *a, const void *buff, state->stream.avail_in = length; if (drive_compressor(a, state, 0)) return (-1); + a->file_position += length; return (length); } @@ -244,6 +245,7 @@ archive_compressor_bzip2_finish(struct archive *a) ret = (a->client_writer)(a, a->client_data, state->compressed, block_length); + a->raw_position += ret; if (ret != 0) goto cleanup; @@ -295,6 +297,7 @@ drive_compressor(struct archive *a, struct private_data *state, int finishing) state->compressed_buffer_size - ret); } + a->raw_position += ret; state->stream.next_out = state->compressed + state->compressed_buffer_size - ret; state->stream.avail_out = ret; |