This revision broke builds on FreeBSD 8.2-RELEASE (64-bit): file_access.c:924: warning: dereferencing 'void *' pointer file_access.c:924: error: request for member '_file' in something not a structure or union file_access.c: In function 'wtap_dump_file_write': file_access.c:1084: warning: dereferencing 'void *' pointer file_access.c:1084: error: request for member '_flags' in something not a structure or union gmake[2]: *** [libwiretap_la-file_access.lo] Error 1
It is referring to these two lines: 924: fd = fileno(wdh->fh); 1084: if (ferror(wdh->fh)) "wdh" is a wtap_dumper struct, which contains (wtap-int.h): struct wtap_dumper { WFILE_T fh; "WFILE_T" is defined in my case to be a gzFile: #ifdef HAVE_LIBZ #include <zlib.h> #define WFILE_T gzFile #else /* No zLib */ #define WFILE_T FILE * #endif /* HAVE_LIBZ */ And "gzFile" is (from /usr/include/zlib.h): typedef voidp gzFile; But it would still work if I don't have zLib, in which case WFILE_T would be a "FILE*" (from /usr/include/stdio.h), which is a struct with many items including: short _flags; /* (*) flags, below; this FILE is free if 0 */ short _file; /* (*) fileno, if Unix descriptor, else -1 */ ... which the fileno() and ferror() functions are trying to use: (from /usr/src/lib/libc/stdio/fileno.c) int fileno(FILE *fp) { int fd; FLOCKFILE(fp); fd = __sfileno(fp); FUNLOCKFILE(fp); return (fd); } (from /usr/src/lib/libc/stdio/ferror.c) int ferror(FILE *fp) { int ret; FLOCKFILE(fp); ret = __sferror(fp); FUNLOCKFILE(fp); return (ret); } __sfileno and __sferror are defined in /usr/include/stdio.h: #define __sfileno(p) ((p)->_file) #define __sferror(p) (((p)->_flags & __SERR) != 0) On Fri, Apr 08, 2011 at 12:28:40AM +0000, g...@wireshark.org wrote: > http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=36513 > > User: guy > Date: 2011/04/07 05:28 PM > > Log: > From Jakub Zawadzki: > > Steal file_wrappers functions from zlib v2. > > Directory: /trunk/wiretap/ > Changes Path Action > +8 -8 file_access.c Modified > +626 -188 file_wrappers.c Modified > +10 -27 file_wrappers.h Modified > +30 -3 wtap-int.h Modified > +0 -2 wtap.c Modified > > ___________________________________________________________________________ > Sent via: Wireshark-commits mailing list <wireshark-comm...@wireshark.org> > Archives: http://www.wireshark.org/lists/wireshark-commits > Unsubscribe: https://wireshark.org/mailman/options/wireshark-commits > > mailto:wireshark-commits-requ...@wireshark.org?subject=unsubscribe ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe