diff options
Diffstat (limited to 'src/package.c')
-rw-r--r-- | src/package.c | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/src/package.c b/src/package.c index fa4346a..1fc9a07 100644 --- a/src/package.c +++ b/src/package.c @@ -59,7 +59,7 @@ struct package { int count; int read_fd, write_fd; z_stream read_z, write_z; - void *read_zbuf, *write_zbuf; + uint8_t *read_zbuf, *write_zbuf; int x_endianess; int compressed; struct package_item *items; @@ -116,7 +116,7 @@ static ssize_t package_read(struct package *p, void *d, size_t l) { } if (!n) { - r = (void*) p->read_z.next_out - d; + r = (uint8_t*) p->read_z.next_out - (uint8_t*) d; goto finish; } @@ -127,7 +127,7 @@ static ssize_t package_read(struct package *p, void *d, size_t l) { if ((z = inflate(&p->read_z, 0)) != Z_OK) { if (z == Z_STREAM_END) { - r = (void*) p->read_z.next_out - d; + r = (uint8_t*) p->read_z.next_out - (uint8_t*) d; goto finish; } @@ -174,7 +174,7 @@ static ssize_t package_write(struct package *p, void *d, size_t l) { goto finish; } - t = (void*) p->write_z.next_out - p->write_zbuf; + t = (uint8_t*) p->write_z.next_out - p->write_zbuf; if (t) { ssize_t n; @@ -184,8 +184,8 @@ static ssize_t package_write(struct package *p, void *d, size_t l) { goto finish; } - if (n != t) { - if ((r = (void*) p->write_z.next_in - d) > 0) + if ((size_t) n != t) { + if ((r = (uint8_t*) p->write_z.next_in - (uint8_t*) d) > 0) r --; goto finish; @@ -215,7 +215,7 @@ static int copy_deflate(struct package *p, int sfd, off_t l) { size_t t = MIN(l, CBUFSIZE); ssize_t n; - if ((n = loop_read(sfd, buf, t)) != t) { + if ((n = loop_read(sfd, buf, t)) != (ssize_t) t) { fprintf(stderr, "read() : %s\n", n < 0 ? strerror(errno) : "EOF"); goto finish; } @@ -245,18 +245,18 @@ static int copy_inflate(struct package *p, int dfd, off_t l) { } while (l > 0) { - size_t t = MIN(l, CBUFSIZE); + size_t t = (size_t) (MIN(l, CBUFSIZE)); ssize_t n; - if (package_read(p, buf, t) != t) + if (package_read(p, buf, t) != (ssize_t) t) goto finish; - if ((n = loop_write(dfd, buf, t)) != t) { + if ((n = loop_write(dfd, buf, t)) != (ssize_t) t) { fprintf(stderr, "write() : %s\n", n < 0 ? strerror(errno) : "EOF"); goto finish; } - l -= n; + l -= t; } r = 0; @@ -361,9 +361,9 @@ static int close_write_fd(struct package *p) { z = deflate(&p->write_z, Z_FINISH); - t = (void*) p->write_z.next_out - p->write_zbuf; + t = (uint8_t*) p->write_z.next_out - p->write_zbuf; if (t) { - if ((n = loop_write(p->write_fd, p->write_zbuf, t)) != t) { + if ((n = loop_write(p->write_fd, p->write_zbuf, t)) != (ssize_t) t) { fprintf(stderr, "loop_write(): %s\n", n < 0 ? strerror(errno) : "EOF"); r = -1; break; @@ -499,7 +499,6 @@ static int write_item(struct package *p, struct package_item *i) { goto fail; } - if ((r = package_write(p, &l, 8)) != 8) { if (r >= 0) fprintf(stderr, "Short write\n"); @@ -596,8 +595,6 @@ struct package* package_open(const char *fn, int force) { fprintf(stderr, "zlib initialisation failure\n"); goto finish; } - - } |