From 7a2c0a0d6bec344172130ecdcfb3b40bbcca4873 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 10 Jun 2008 17:24:00 +0000 Subject: [PATCH] * fhandler_procnet.cc (format_procnet_ifinet6): Use sprintf rather than __small_sprintf. * net.cc (if_nametoindex): Prefer IPv6IfIndex over IfIndex for consistency with /proc/net/if_inet6. (if_indextoname): Ditto. (if_nameindex): Ditto. --- winsup/cygwin/ChangeLog | 9 +++++++++ winsup/cygwin/fhandler_procnet.cc | 16 ++++++++-------- winsup/cygwin/net.cc | 8 ++++---- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 64bf80ce4..70501713d 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,12 @@ +2008-06-10 Corinna Vinschen + + * fhandler_procnet.cc (format_procnet_ifinet6): Use sprintf rather than + __small_sprintf. + * net.cc (if_nametoindex): Prefer IPv6IfIndex over IfIndex for + consistency with /proc/net/if_inet6. + (if_indextoname): Ditto. + (if_nameindex): Ditto. + 2008-06-10 Corinna Vinschen * mount.cc (mount_info::from_fstab): Read sizeof (buf) - 2 bytes. diff --git a/winsup/cygwin/fhandler_procnet.cc b/winsup/cygwin/fhandler_procnet.cc index 82c5f0a84..f9fd94707 100644 --- a/winsup/cygwin/fhandler_procnet.cc +++ b/winsup/cygwin/fhandler_procnet.cc @@ -260,14 +260,14 @@ format_procnet_ifinet6 (char *&filebuf) filesize += sprintf (filebuf + filesize, "%04x", ntohs (sin6->sin6_addr.s6_addr16[i])); filebuf[filesize++] = ' '; - filesize += __small_sprintf (filebuf + filesize, - "%02x %02x %02x %02x %s\n", - pap->IfIndex ?: pap->Ipv6IfIndex, - ip_addr_prefix (pua, pap->FirstPrefix), - ((struct sockaddr_in6 *) - pua->Address.lpSockaddr)->sin6_scope_id, - pua->DadState, - pap->AdapterName); + filesize += sprintf (filebuf + filesize, + "%02lx %02x %02x %02x %s\n", + pap->IfIndex ?: pap->Ipv6IfIndex, + ip_addr_prefix (pua, pap->FirstPrefix), + ((struct sockaddr_in6 *) + pua->Address.lpSockaddr)->sin6_scope_id, + pua->DadState, + pap->AdapterName); } out: diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index 3fda2d656..d8d426b98 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -2048,7 +2048,7 @@ if_nametoindex (const char *name) for (pap = pa0; pap; pap = pap->Next) if (strcasematch (lname, pap->AdapterName)) { - index = pap->IfIndex; + index = pap->Ipv6IfIndex ?: pap->IfIndex; break; } free (pa0); @@ -2070,7 +2070,7 @@ if_indextoname (unsigned ifindex, char *ifname) && get_adapters_addresses (&pa0, AF_UNSPEC)) { for (pap = pa0; pap; pap = pap->Next) - if (ifindex == pap->IfIndex) + if (ifindex == (pap->Ipv6IfIndex ?: pap->IfIndex)) { name = strcpy (ifname, pap->AdapterName); break; @@ -2110,9 +2110,9 @@ if_nameindex (void) for (pap = pa0, cnt = 0; pap; pap = pap->Next) { for (int i = 0; i < cnt; ++i) - if (iflist[i].if_index == (pap->IfIndex ?: pap->Ipv6IfIndex)) + if (iflist[i].if_index == (pap->Ipv6IfIndex ?: pap->IfIndex)) goto outer_loop; - iflist[cnt].if_index = pap->IfIndex ?: pap->Ipv6IfIndex; + iflist[cnt].if_index = pap->Ipv6IfIndex ?: pap->IfIndex; strcpy (iflist[cnt].if_name = ifnamelist[cnt], pap->AdapterName); ++cnt; outer_loop: