diff options
author | joerg <joerg@pkgsrc.org> | 2007-08-13 18:17:26 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2007-08-13 18:17:26 +0000 |
commit | d3fa82849b8416e2be7cf1cc8c0a19eb6aa6104a (patch) | |
tree | f4878bf66b1174b1d7f6185faa6e3e3ed15616f8 /archivers/libarchive/files/libarchive/archive_read_support_compression_program.c | |
parent | 3429a59e5231c735e57888d50377d400cbf42a96 (diff) | |
download | pkgsrc-d3fa82849b8416e2be7cf1cc8c0a19eb6aa6104a.tar.gz |
Update in-tree libarchive to 2.2.6. This merges the local changes
and some bugfixes from FreeBSD.
Diffstat (limited to 'archivers/libarchive/files/libarchive/archive_read_support_compression_program.c')
-rw-r--r-- | archivers/libarchive/files/libarchive/archive_read_support_compression_program.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/archivers/libarchive/files/libarchive/archive_read_support_compression_program.c b/archivers/libarchive/files/libarchive/archive_read_support_compression_program.c index 6815a3bd8b1..58b4bbddf0b 100644 --- a/archivers/libarchive/files/libarchive/archive_read_support_compression_program.c +++ b/archivers/libarchive/files/libarchive/archive_read_support_compression_program.c @@ -24,7 +24,7 @@ */ #include "archive_platform.h" -__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_compression_program.c,v 1.1 2007/05/29 01:00:19 kientzle Exp $"); +__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_support_compression_program.c,v 1.2 2007/07/20 01:28:50 kientzle Exp $"); #ifdef HAVE_SYS_WAIT_H # include <sys/wait.h> @@ -113,6 +113,7 @@ child_read(struct archive_read *a, char *buf, size_t buf_len) { struct archive_decompress_program *state = a->decompressor->data; ssize_t ret, requested; + const void *child_buf; if (state->child_stdout == -1) return (-1); @@ -138,8 +139,10 @@ restart_read: return (-1); if (state->child_in_buf_avail == 0) { + child_buf = state->child_in_buf; ret = (a->client_reader)(&a->archive, - a->client_data, (const void **)&state->child_in_buf); + a->client_data,&child_buf); + state->child_in_buf = (const char *)child_buf; if (ret < 0) { close(state->child_stdin); |