Ethereal-dev: Re: [ethereal-dev] No ZLIB and latest CVS sources
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Guy Harris <guy@xxxxxxxxxx>
Date: Wed, 26 Jan 2000 14:30:09 -0800 (PST)
> I haven't seen the change in CVS yet RCS file: /usr/local/cvsroot/ethereal/wiretap/file_wrappers.c,v Working file: file_wrappers.c head: 1.5 branch: locks: strict access list: symbolic names: release-0-8-2: 1.4 keyword substitution: kv total revisions: 5; selected revisions: 5 description: ---------------------------- revision 1.5 date: 2000/01/26 19:22:04; author: guy; state: Exp; lines: +10 -11 Always declare, and define, "file_seek()" to return a "long", as it's supposed to look like "ftell()". If you don't have zlib, just define "file_seek" as an alias for "fseek", rather than defining it as a routine. ... RCS file: /usr/local/cvsroot/ethereal/wiretap/file_wrappers.h,v Working file: file_wrappers.h head: 1.4 branch: locks: strict access list: symbolic names: release-0-8-2: 1.3 keyword substitution: kv total revisions: 4; selected revisions: 4 description: ---------------------------- revision 1.4 date: 2000/01/26 19:22:04; author: guy; state: Exp; lines: +3 -3 Always declare, and define, "file_seek()" to return a "long", as it's supposed to look like "ftell()". If you don't have zlib, just define "file_seek" as an alias for "fseek", rather than defining it as a routine. > and there was no patch attached :( Attached (with the RCS ID changes removed).
Index: file_wrappers.c =================================================================== RCS file: /usr/local/cvsroot/ethereal/wiretap/file_wrappers.c,v retrieving revision 1.4 retrieving revision 1.5 diff -c -r1.4 -r1.5 *** file_wrappers.c 2000/01/25 04:49:55 1.4 --- file_wrappers.c 2000/01/26 19:22:04 1.5 *************** *** 56,66 **** * in the first place, so we don't know whether to include "zlib.h" * until we include "config.h".... * * So what we do is *undefine* HAVE_UNISTD_H before including "wtap.h" * (we need "wtap.h" to get the WTAP_ERR_ZLIB values, and it also includes ! * "zlib.h" if HAVE_ZLIB" is defined), and make "file_seek()" a subroutine, ! * so that the only call to "gzseek()" is in this file, which, by dint of ! * the hackery described above, manages to correctly declare "gzseek()". * * DO NOT, UNDER ANY CIRCUMSTANCES, REMOVE THE FOLLOWING LINE, OR MOVE * IT AFTER THE INCLUDE OF "wtap.h"! Doing so will cause any program --- 56,71 ---- * in the first place, so we don't know whether to include "zlib.h" * until we include "config.h".... * + * A similar problem appears to occur with "gztell()", at least on + * NetBSD. + * * So what we do is *undefine* HAVE_UNISTD_H before including "wtap.h" * (we need "wtap.h" to get the WTAP_ERR_ZLIB values, and it also includes ! * "zlib.h" if HAVE_ZLIB" is defined), and, if we have zlib, make ! * "file_seek()" and "file_tell()" subroutines, so that the only calls to ! * "gzseek()" and "gztell()" are in this file, which, by dint of the ! * hackery described above, manages to correctly declare "gzseek()" and ! * "gztell()". * * DO NOT, UNDER ANY CIRCUMSTANCES, REMOVE THE FOLLOWING LINE, OR MOVE * IT AFTER THE INCLUDE OF "wtap.h"! Doing so will cause any program *************** *** 81,87 **** #include "file_wrappers.h" #ifdef HAVE_LIBZ ! int file_seek(void *stream, long offset, int whence) { return gzseek(stream, (z_off_t)offset, whence); --- 86,92 ---- #include "file_wrappers.h" #ifdef HAVE_LIBZ ! long file_seek(void *stream, long offset, int whence) { return gzseek(stream, (z_off_t)offset, whence); *************** *** 91,102 **** file_tell(void *stream) { return (long)gztell(stream); - } - #else /* HAVE_LIBZ */ - long - file_seek(FILE *stream, long offset, int whence) - { - return fseek(stream, offset, whence); } #endif /* HAVE_LIBZ */ --- 96,101 ---- Index: file_wrappers.h =================================================================== RCS file: /usr/local/cvsroot/ethereal/wiretap/file_wrappers.h,v retrieving revision 1.3 retrieving revision 1.4 diff -c -r1.3 -r1.4 *** file_wrappers.h 2000/01/25 04:49:55 1.3 --- file_wrappers.h 2000/01/26 19:22:04 1.4 *************** *** 27,33 **** #ifdef HAVE_LIBZ #define file_open gzopen #define filed_open gzdopen ! extern int file_seek(void *stream, long offset, int whence); #define file_read(buf, bsize, count, file) gzread((file),(buf),((count)*(bsize))) #define file_write(buf, bsize, count, file) gzwrite((file),(buf),((count)*(bsize))) #define file_close gzclose --- 27,33 ---- #ifdef HAVE_LIBZ #define file_open gzopen #define filed_open gzdopen ! extern long file_seek(void *stream, long offset, int whence); #define file_read(buf, bsize, count, file) gzread((file),(buf),((count)*(bsize))) #define file_write(buf, bsize, count, file) gzwrite((file),(buf),((count)*(bsize))) #define file_close gzclose *************** *** 39,45 **** #else /* No zLib */ #define file_open fopen #define filed_open fdopen ! extern int file_seek(FILE *stream, long offset, int whence); #define file_read fread #define file_write fwrite #define file_close fclose --- 39,45 ---- #else /* No zLib */ #define file_open fopen #define filed_open fdopen ! #define file_seek fseek #define file_read fread #define file_write fwrite #define file_close fclose
- Follow-Ups:
- Re: [ethereal-dev] No ZLIB and latest CVS sources
- From: Greg Kilfoyle
- Re: [ethereal-dev] No ZLIB and latest CVS sources
- References:
- Re: [ethereal-dev] No ZLIB and latest CVS sources
- From: Greg Kilfoyle
- Re: [ethereal-dev] No ZLIB and latest CVS sources
- Prev by Date: [jw@xxxxxxxx: Re: [ethereal-dev] compilation-error with ethereal 0.8.2]
- Next by Date: Re: [jw@xxxxxxxx: Re: [ethereal-dev] compilation-error with ethereal 0.8.2]
- Previous by thread: Re: [ethereal-dev] No ZLIB and latest CVS sources
- Next by thread: Re: [ethereal-dev] No ZLIB and latest CVS sources
- Index(es):