>Ethereal *itself* doesn't use "gzseek()" at all; only Wiretap uses it,
>and, in the version in the CVS tree, the only code in Wiretap that uses
>it is the "file_seek()" routine in "file_wrappers.c", and HAVE_UNISTD_H
>is forcibly undefined by "file_wrappers.c" after "config.h" is included
>and before any other header files are included - and no header files in
>the Wiretap directory include "config.h".
>
>How, then, in the code in the CVS tree, does HAVE_UNISTD_H have any
>effect whatsoever on the declaration of "gzseek()" in "file_wrappers.c"?
>
>Note that the behavior you describe on NetBSD 1.4.1 also applies to
>FreeBSD 3.3, and the code in the CVS tree works fine in FreeBSD 3.3 when
>built with zlib.
It looks that, on NetBSD 1.4.1,
- binary built with "./configure" will see corrupted packet dump
- binary built with "./configure --disable-zlib" works just fine
so I think I need to take a deep look at file_wrappers.c.
I'll try to send you better diffs later.
>> I find it easier to disable zlib on such platform.
>No, that's a gross workaround - we should *make Ethereal work with zlib*
>on those platforms. I do *NOT* want zlib disabled on my FreeBSD
>machine....
I see, I just felt it very cumbersome to try supporting broken
libraries and headers. How about bundling zlib with ethereal instead?
itojun