diff options
| author | Tim Kientzle <kientzle@FreeBSD.org> | 2007-07-20 01:28:50 +0000 |
|---|---|---|
| committer | Tim Kientzle <kientzle@FreeBSD.org> | 2007-07-20 01:28:50 +0000 |
| commit | 8ea9716c0cdc149f97e6c2d20ed85a93fa9c8441 (patch) | |
| tree | ac9e98990a9e0c0193bc177f5041173ea144f17e /lib/libarchive/archive_read_support_compression_program.c | |
| parent | 660665be6b69e6ed3a823d9ce689c92d679d147c (diff) | |
Notes
Diffstat (limited to 'lib/libarchive/archive_read_support_compression_program.c')
| -rw-r--r-- | lib/libarchive/archive_read_support_compression_program.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libarchive/archive_read_support_compression_program.c b/lib/libarchive/archive_read_support_compression_program.c index d40679769f9b..dfea568fee20 100644 --- a/lib/libarchive/archive_read_support_compression_program.c +++ b/lib/libarchive/archive_read_support_compression_program.c @@ -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); |
