Fix bug in gzgets() for a concatenated empty gzip stream.

pull/2/head
Mark Adler 13 years ago
parent f32370e542
commit 0a81dc026c
  1. 4
      gzread.c

@ -569,15 +569,15 @@ char * ZEXPORT gzgets(file, buf, len)
left = (unsigned)len - 1; left = (unsigned)len - 1;
if (left) do { if (left) do {
/* assure that something is in the output buffer */ /* assure that something is in the output buffer */
if (state->have == 0) { while (state->have == 0 && (state->strm.avail_in || !state->eof)) {
if (gz_make(state) == -1) if (gz_make(state) == -1)
return NULL; /* error */ return NULL; /* error */
}
if (state->have == 0) { /* end of file */ if (state->have == 0) { /* end of file */
if (buf == str) /* got bupkus */ if (buf == str) /* got bupkus */
return NULL; return NULL;
break; /* got something -- return it */ break; /* got something -- return it */
} }
}
/* look for end-of-line in current output buffer */ /* look for end-of-line in current output buffer */
n = state->have > left ? left : state->have; n = state->have > left ? left : state->have;

Loading…
Cancel
Save