Fix compilation with OpenBSD libpcap.
authorDenis Ovsienko <denis@ovsienko.info>
Fri, 21 May 2021 00:12:56 +0000 (01:12 +0100)
committerDenis Ovsienko <denis@ovsienko.info>
Fri, 21 May 2021 11:55:16 +0000 (12:55 +0100)
commit5bc40ed8ec2ec62f7569d57dcaaee1bef27e37dc
treecc1a3a8191755aca3bffdd53ccea53062c752e58
parenta8326570f07dd13a8a50422de8489754acd8e900
Fix compilation with OpenBSD libpcap.

OpenBSD (at least 6.8 and 6.9) defines struct pcap_pkthdr differently
from the upstream libpcap. Work around that by using a buffer variable
and copying the struct members one at a time (see also tcpdump commit
7e29aa3).

This change squelches the following errors and warnings from GCC 4.2.1
20070719:

./tcpslice.c: In function 'get_next_packet':

./tcpslice.c:748: warning: passing argument 1 of
'sf_timestamp_less_than' from incompatible pointer type

./tcpslice.c:750: error: incompatible types in assignment

./tcpslice.c: In function 'open_files':

./tcpslice.c:790: error: incompatible types in assignment

./tcpslice.c: In function 'extract_slice':

./tcpslice.c:911: error: incompatible types in assignment

./tcpslice.c:912: error: incompatible types in assignment

./tcpslice.c:929: warning: passing argument 2 of
'sf_timestamp_less_than' from incompatible pointer type

./search.c: In function 'sf_find_end':

./search.c:404: error: incompatible types in assignment

./search.c: In function 'read_up_to':

./search.c:486: warning: assignment from incompatible pointer type

./search.c: In function 'sf_find_packet':

./search.c:593: warning: passing argument 1 of 'sf_timestamp_less_than'
from incompatible pointer type

./search.c:595: error: incompatible types in assignment

./search.c:599: warning: passing argument 2 of 'sf_timestamp_less_than'
from incompatible pointer type

./search.c:601: error: incompatible types in assignment
CHANGES
search.c
tcpslice.c
tcpslice.h