From a3710fdce432af61e64eaf181f65a423f25d8ca0 Mon Sep 17 00:00:00 2001 From: Mats Erik Andersson Date: Wed, 15 Sep 2010 21:22:38 +0200 Subject: [PATCH 3/3] ifconfig/if_index.c: Condition on !HAVE_STRUCT_IF_NAMEINDEX. --- ChangeLog | 4 ++++ ifconfig/if_index.c | 16 +++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7d198af..5cb717b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2010-09-15 Mats Erik Andersson + * ifconfig/if_nameindex.c: Protect using HAVE_STRUCT_IF_NAMEINDEX. + +2010-09-15 Mats Erik Andersson + * telnetd/telnetd.c (login_invocation, argp_options): Access login(1) by detected PATH_LOGIN. diff --git a/ifconfig/if_index.c b/ifconfig/if_index.c index 3518b60..2d2b215 100644 --- a/ifconfig/if_index.c +++ b/ifconfig/if_index.c @@ -38,11 +38,12 @@ #include +#ifndef HAVE_STRUCT_IF_NAMEINDEX unsigned int if_nametoindex (const char *ifname) { int result = 0; -#ifdef SIOCGIFINDEX +# ifdef SIOCGIFINDEX { int fd = socket (AF_INET, SOCK_DGRAM, 0); if (fd >= 0) @@ -57,7 +58,7 @@ if_nametoindex (const char *ifname) return ifr.ifr_index; } } -#endif +# endif /* SIOCGIFINDEX */ { struct if_nameindex *idx; idx = if_nameindex (); @@ -95,7 +96,7 @@ if_freenameindex (struct if_nameindex *ifn) struct if_nameindex * if_nameindex (void) { -#if defined SIOCGIFCONF +# if defined SIOCGIFCONF int fd = socket (AF_INET, SOCK_DGRAM, 0); struct ifconf ifc; unsigned int i = 0; @@ -163,11 +164,11 @@ if_nameindex (void) return NULL; } -# if defined SIOCGIFINDEX +# if defined SIOCGIFINDEX if (ioctl (fd, SIOCGIFINDEX, cur) >= 0) idx[i].if_index = cur->ifr_index; else -# endif +# endif idx[i].if_index = i + 1; i++; } @@ -191,8 +192,9 @@ if_nameindex (void) close (fd); return idx; -#else +# else /* !SIOCGIFCONF */ errno = ENOSYS; return NULL; -#endif +# endif } +#endif /* HAVE_STRUCT_IF_NAMEINDEX */ -- 1.6.3.3