unsigned len;
unsigned *have;
{
- int ret;
+ ssize_t ret;
unsigned get, max = ((unsigned)-1 >> 2) + 1;
*have = 0;
/* set n to the maximum amount of len that fits in an unsigned int */
n = -1;
if (n > len)
- n = len;
+ n = (unsigned)len;
/* first just try copying data from the output buffer */
if (state.state->x.have) {
}
/* read len or fewer bytes to buf */
- len = gz_read(state, buf, len);
+ len = (unsigned)gz_read(state, buf, len);
/* check for an error */
if (len == 0 && state.state->err != Z_OK && state.state->err != Z_BUF_ERROR)
}
/* nothing there -- try gz_read() */
- ret = gz_read(state, buf, 1);
+ ret = (unsigned)gz_read(state, buf, 1);
return ret < 1 ? -1 : buf[0];
}
if (state.state->direct) {
while (strm->avail_in) {
put = strm->avail_in > max ? max : strm->avail_in;
- writ = write(state.state->fd, strm->next_in, put);
+ writ = (int)write(state.state->fd, strm->next_in, put);
if (writ < 0) {
gz_error(state, Z_ERRNO, zstrerror());
return -1;
while (strm->next_out > state.state->x.next) {
put = strm->next_out - state.state->x.next > (int)max ? max :
(unsigned)(strm->next_out - state.state->x.next);
- writ = write(state.state->fd, state.state->x.next, put);
+ writ = (int)write(state.state->fd, state.state->x.next, put);
if (writ < 0) {
gz_error(state, Z_ERRNO, zstrerror());
return -1;
if (len < state.state->size) {
/* copy to input buffer, compress when full */
do {
- unsigned have, copy;
+ z_size_t have, copy;
if (state.state->strm.avail_in == 0)
state.state->strm.next_in = state.state->in;
/* directly compress user buffer to file */
state.state->strm.next_in = (z_const Bytef *)buf;
do {
- unsigned n = (unsigned)-1;
+ z_size_t n = (unsigned)-1;
if (n > len)
n = len;
- state.state->strm.avail_in = n;
+ state.state->strm.avail_in = (z_uInt)n;
state.state->x.pos += n;
if (gz_comp(state, Z_NO_FLUSH) == -1)
return 0;
/* write string */
len = strlen(str);
- ret = gz_write(state, str, len);
+ ret = (int)gz_write(state, str, len);
return ret == 0 && len != 0 ? -1 : ret;
}