Package: zlib1g Version: 1:1.2.2-3 Severity: important Tags: patch
When reading a compressed file using gzread(), once EOF has been reached gzread() returns 0. From this point onward, gzread() always returns 0 even if the file continues to grow. This makes it impossible to tail (as in tail -f) a continuously growing file. Problem is in the way gzread() determines EOF. I am attaching a patch to fix this problem. I am sending this bug report and patch to upstream zlib maintainer, Jean-Loup, as well. -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing'), (1, 'experimental') Architecture: ia64 Kernel: Linux 2.6.8-1-mckinley Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Versions of packages zlib1g depends on: ii libc6.1 2.3.2.ds1-20 GNU C Library: Shared libraries an -- no debconf information diff -urN zlib-1.2.2.orig/gzio.c zlib-1.2.2/gzio.c --- zlib-1.2.2.orig/gzio.c 2004-10-03 22:30:37.000000000 -0400 +++ zlib-1.2.2/gzio.c 2005-03-01 16:43:05.000000000 -0500 @@ -403,7 +403,9 @@ if (s == NULL || s->mode != 'r') return Z_STREAM_ERROR; if (s->z_err == Z_DATA_ERROR || s->z_err == Z_ERRNO) return -1; - if (s->z_err == Z_STREAM_END) return 0; /* EOF */ + if (s->z_eof == 1) { + return 0; /* EOF */ + } next_out = (Byte*)buf; s->stream.next_out = (Bytef*)buf; -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]