diff options
| author | Rich Felker <dalias@aerifal.cx> | 2014-02-05 17:25:39 -0500 | 
|---|---|---|
| committer | Rich Felker <dalias@aerifal.cx> | 2014-02-05 17:25:39 -0500 | 
| commit | 89511cd943d807b7fe31b61c06d4fe09888b8e9a (patch) | |
| tree | 38e095e38d868ab6c76faac4e304d1908e715602 | |
| parent | 685b1cd4a0d1a890c55f9481b67e33e51412babb (diff) | |
| download | musl-89511cd943d807b7fe31b61c06d4fe09888b8e9a.tar.gz | |
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.
| -rw-r--r-- | include/netinet/udp.h | 17 | 
1 files 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 <features.h>  #include <stdint.h> -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 | 
