From 89511cd943d807b7fe31b61c06d4fe09888b8e9a Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Wed, 5 Feb 2014 17:25:39 -0500 Subject: [PATCH] reduce namespace pollution in netinet/udp.h the affected part of the header is responsible for providing both GNU and BSD versions of the udphdr structure. previously, the namespace-polluting GNU names were always used for the actual struct members, and the BSD names, which are named in a manner resembling a sane namespace, were always macros defined to expand to the GNU names. now, unless _GNU_SOURCE is defined, the BSD names are used as the actual structure members, and the macros and GNU names only come into play when the application requests them. --- include/netinet/udp.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/include/netinet/udp.h b/include/netinet/udp.h index 15b91454..b1b0eb81 100644 --- a/include/netinet/udp.h +++ b/include/netinet/udp.h @@ -5,19 +5,22 @@ extern "C" { #endif +#include #include -struct udphdr { - uint16_t source; - uint16_t dest; - uint16_t len; - uint16_t check; -}; - +#ifdef _GNU_SOURCE #define uh_sport source #define uh_dport dest #define uh_ulen len #define uh_sum check +#endif + +struct udphdr { + uint16_t uh_sport; + uint16_t uh_dport; + uint16_t uh_ulen; + uint16_t uh_sum; +}; #define UDP_CORK 1 #define UDP_ENCAP 100 -- 2.25.1