Baruch Siach <bar...@tkos.co.il> wrote:
> glibc older than 2.19 require _BSD_SOURCE to expose BSD style fields of
> struct tcphdr. Fix the following build failure:
> 
> xtables-monitor.c: In function 'trace_print_packet':
> xtables-monitor.c:406:43: error: 'const struct tcphdr' has no member named 
> 'th_sport'
>     printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), 
> ntohs(tcph->th_dport));
>                                            ^
> xtables-monitor.c:406:66: error: 'const struct tcphdr' has no member named 
> 'th_dport'
>     printf("SPORT=%d DPORT=%d ", ntohs(tcph->th_sport), 
> ntohs(tcph->th_dport));

Thanks for the patch, but this gives me:

> +#define _BSD_SOURCE

In file included from /usr/include/bits/libc-header-start.h:33:0, from 
/usr/include/stdlib.h:25,
from xtables-monitor.c:13: /usr/include/features.h:184:3:
# warning "_BSD_SOURCE and # _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"

build does complete though.
Does _DEFAULT_SOURCE work for older glibc as well?

Reply via email to