Wireshark-dev: Re: [Wireshark-dev] [Wireshark-commits] rev 22094: /trunk/ /trunk/epan/dissector
Stephen Fisher wrote:
> Gerald,
>
> The check-in below broke the Unix builds with a few warnings treated as
> errors. A few are simple fixes, but the inclusion of a wiretap header
> in non-wiretap dissector code is getting a bit tricky. The compiler's
> complaints are:
>
> cc1: warnings being treated as errors
> In file included from packet-ppi.c:56:
> ../../wiretap/wtap-capture.h:31: warning: 'struct pcap_pkthdr' declared
> inside parameter list
> ../../wiretap/wtap-capture.h:31: warning: its scope is only this
> definition or declaration, which is probably not what you want
> packet-ppi.c: In function 'capture_ppi':
> packet-ppi.c:360: warning: unused parameter 'pd'
> packet-ppi.c: In function 'dissect_80211n_mac':
> packet-ppi.c:493: warning: unused parameter 'pinfo'
> packet-ppi.c: In function 'dissect_ppi':
> packet-ppi.c:631: warning: unused variable 'gen_tvb'
> packet-ppi.c: In function 'proto_register_ppi':
> packet-ppi.c:862: warning: unused variable 'channel_freq_rs'
> make[4]: *** [libcleandissectors_la-packet-ppi.lo] Error 1
>
> The first two warning messages are solved within the wiretap code by
> including the system's pcap.h file. However, this should be wrapped
> inside an #ifdef HAVE_PCAP_H. (and apparently sys/types.h, if
> available, according to wiretap/libpcap.c). The problem is that that
> define is only available in wiretap/config.h and not the base config.h,
> so you would need to include both config.h files in the packet-ppi.c
> dissector code. This would cause conflicts between the common
> declarations inside the config.h files...
I've checked in a fix. As the comment before the include indicates, the
PPI dissector needs wtap_pcap_encap_to_wtap_encap(). Is there any
reason the declaration shouldn't go into wtap.h, or all of the
encap-related stuff be put into wtap-encap.h?