ipconfig: Distinguish between IPv4 and IPv6 addresses

André Hentschel nerv at dawncrow.de
Sat Jan 5 09:38:00 CST 2013


---
 programs/ipconfig/ipconfig.c  | 6 +++++-
 programs/ipconfig/ipconfig.h  | 1 +
 programs/ipconfig/ipconfig.rc | 3 ++-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/programs/ipconfig/ipconfig.c b/programs/ipconfig/ipconfig.c
index 1f45e0e..30e50fd 100644
--- a/programs/ipconfig/ipconfig.c
+++ b/programs/ipconfig/ipconfig.c
@@ -341,8 +341,12 @@ static void print_full_information(void)
 
                 for (addr = p->FirstUnicastAddress; addr; addr = addr->Next)
                 {
-                    if (socket_address_to_string(addr_buf, sizeof(addr_buf)/sizeof(WCHAR), &addr->Address))
+                    if (addr->Address.lpSockaddr->sa_family == AF_INET &&
+                        socket_address_to_string(addr_buf, sizeof(addr_buf)/sizeof(WCHAR), &addr->Address))
                         print_field(STRING_IP_ADDRESS, addr_buf);
+                    else if (addr->Address.lpSockaddr->sa_family == AF_INET6 &&
+                             socket_address_to_string(addr_buf, sizeof(addr_buf)/sizeof(WCHAR), &addr->Address))
+                        print_field(STRING_IP6_ADDRESS, addr_buf);
                     /* FIXME: Output corresponding subnet mask. */
                 }
 
diff --git a/programs/ipconfig/ipconfig.h b/programs/ipconfig/ipconfig.h
index 593a43c..579ba70 100644
--- a/programs/ipconfig/ipconfig.h
+++ b/programs/ipconfig/ipconfig.h
@@ -41,3 +41,4 @@
 #define STRING_YES              118
 #define STRING_NO               119
 #define STRING_DEFAULT_GATEWAY  120
+#define STRING_IP6_ADDRESS      121
diff --git a/programs/ipconfig/ipconfig.rc b/programs/ipconfig/ipconfig.rc
index 3c1f9d1..59162e3 100644
--- a/programs/ipconfig/ipconfig.rc
+++ b/programs/ipconfig/ipconfig.rc
@@ -30,7 +30,7 @@ STRINGTABLE
     STRING_ETHERNET, "Ethernet"
     STRING_UNKNOWN, "Unknown"
     STRING_CONN_DNS_SUFFIX, "Connection-specific DNS suffix"
-    STRING_IP_ADDRESS, "IP address"
+    STRING_IP_ADDRESS, "IPv4 address"
     STRING_HOSTNAME, "Hostname"
     STRING_NODE_TYPE, "Node type"
     STRING_BROADCAST, "Broadcast"
@@ -44,4 +44,5 @@ STRINGTABLE
     STRING_YES, "Yes"
     STRING_NO, "No"
     STRING_DEFAULT_GATEWAY, "Default gateway"
+    STRING_IP6_ADDRESS, "IPv6 address"
 }
-- 
1.8.0



-- 

Best Regards, André Hentschel


More information about the wine-patches mailing list