summaryrefslogtreecommitdiffstats
path: root/lib/libarchive/archive_read.c
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2007-04-02 00:41:37 +0000
committerkientzle <kientzle@FreeBSD.org>2007-04-02 00:41:37 +0000
commit65a30c481ba0f8b44f073c893e9d5dbc5747a5d1 (patch)
tree2e53fb72851f8d5e7549fb268e4e38904afc5a76 /lib/libarchive/archive_read.c
parent014a4b1cfe1e47eb7196ba04ae3f7987e39dde2c (diff)
downloadFreeBSD-src-65a30c481ba0f8b44f073c893e9d5dbc5747a5d1.zip
FreeBSD-src-65a30c481ba0f8b44f073c893e9d5dbc5747a5d1.tar.gz
Fix type-punned pointer, minor style fixes.
Thanks to: Joerg Sonnenberger
Diffstat (limited to 'lib/libarchive/archive_read.c')
-rw-r--r--lib/libarchive/archive_read.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/libarchive/archive_read.c b/lib/libarchive/archive_read.c
index 06a4e8c..19d72e4 100644
--- a/lib/libarchive/archive_read.c
+++ b/lib/libarchive/archive_read.c
@@ -182,12 +182,12 @@ archive_read_open2(struct archive *_a, void *client_data,
a->client_data = client_data;
/* Select a decompression routine. */
- high_bidder = choose_decompressor(a, buffer, bytes_read);
+ high_bidder = choose_decompressor(a, buffer, (size_t)bytes_read);
if (high_bidder < 0)
return (ARCHIVE_FATAL);
/* Initialize decompression routine with the first block of data. */
- e = (a->decompressors[high_bidder].init)(a, buffer, bytes_read);
+ e = (a->decompressors[high_bidder].init)(a, buffer, (size_t)bytes_read);
if (e == ARCHIVE_OK)
a->archive.state = ARCHIVE_STATE_HEADER;
@@ -439,6 +439,7 @@ archive_read_data(struct archive *_a, void *buff, size_t s)
{
struct archive_read *a = (struct archive_read *)_a;
char *dest;
+ const void *read_buf;
size_t bytes_read;
size_t len;
int r;
@@ -448,10 +449,10 @@ archive_read_data(struct archive *_a, void *buff, size_t s)
while (s > 0) {
if (a->read_data_remaining <= 0) {
- r = archive_read_data_block(&a->archive,
- (const void **)&a->read_data_block,
- &a->read_data_remaining,
- &a->read_data_offset);
+ read_buf = a->read_data_block;
+ r = archive_read_data_block(&a->archive, &read_buf,
+ &a->read_data_remaining, &a->read_data_offset);
+ a->read_data_block = read_buf;
if (r == ARCHIVE_EOF)
return (bytes_read);
/*
OpenPOWER on IntegriCloud