[PATCH 10/13] Installed-header hygiene (BZ#20366): struct ether_addr.
Carlos O'Donell
carlos@redhat.com
Wed Sep 21 19:26:00 GMT 2016
On 08/29/2016 09:16 PM, Zack Weinberg wrote:
> Some versions of netinet/if_ether.h only define struct ether_addr when
> __USE_MISC. This breaks function prototypes in netinet/ether.h that
> depend on it. The path of least resistance is to condition those
> declarations on __USE_MISC too.
>
> * inet/netinet/if_ether.h: Condition all function prototypes
> on __USE_MISC, to ensure struct ether_addr is declared.
You need to explain this in more detail please.
A quick review shows struct ether_addr is not guarded by __USE_MISC
e.g.
sysdeps/generic/netinet/if_ether.h
sysdeps/unix/sysv/linux/net/ethernet.h
Under exactly what conditions is this cleaning up the headers?
> ---
> inet/netinet/ether.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/inet/netinet/ether.h b/inet/netinet/ether.h
> index 3dff523..0952b23 100644
> --- a/inet/netinet/ether.h
> +++ b/inet/netinet/ether.h
> @@ -24,6 +24,7 @@
> /* Get definition of `struct ether_addr'. */
> #include <netinet/if_ether.h>
>
> +#ifdef __USE_MISC
> __BEGIN_DECLS
>
> /* Convert 48 bit Ethernet ADDRess to ASCII. */
> @@ -49,5 +50,6 @@ extern int ether_line (const char *__line, struct ether_addr *__addr,
> char *__hostname) __THROW;
>
> __END_DECLS
> +#endif /* Use misc. */
>
> #endif /* netinet/ether.h */
>
--
Cheers,
Carlos.
More information about the Libc-alpha
mailing list