iphlpapi: Set adapter name in GetAdaptersAddresses

Juan Lang juan.lang at gmail.com
Tue Aug 11 17:50:12 CDT 2009


Fixes bug 19703.
--Juan
-------------- next part --------------
From eab3189d5c8b6eff85d58d69fb9b1828fef8da8e Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Tue, 11 Aug 2009 15:49:50 -0700
Subject: [PATCH 12/12] Set adapter name in GetAdaptersAddresses

---
 dlls/iphlpapi/iphlpapi_main.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 16cf1b3..4415cf6 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -642,12 +642,14 @@ static ULONG adapterAddressesFromIndex(DWORD index, IP_ADAPTER_ADDRESSES *aa, UL
 
     total_size = sizeof(IP_ADAPTER_ADDRESSES);
     total_size += IF_NAMESIZE;
+    total_size += IF_NAMESIZE * sizeof(WCHAR);
     total_size += sizeof(IP_ADAPTER_UNICAST_ADDRESS) * num_addrs;
     total_size += sizeof(struct sockaddr_in) * num_addrs;
 
     if (aa && *size >= total_size)
     {
-        char name[IF_NAMESIZE], *ptr = (char *)aa + sizeof(IP_ADAPTER_ADDRESSES);
+        char name[IF_NAMESIZE], *ptr = (char *)aa + sizeof(IP_ADAPTER_ADDRESSES), *src;
+        WCHAR *dst;
         DWORD buflen, type, status;
 
         memset(aa, 0, sizeof(IP_ADAPTER_ADDRESSES));
@@ -658,6 +660,11 @@ static ULONG adapterAddressesFromIndex(DWORD index, IP_ADAPTER_ADDRESSES *aa, UL
         memcpy(ptr, name, IF_NAMESIZE);
         aa->AdapterName = ptr;
         ptr += IF_NAMESIZE;
+        aa->FriendlyName = (WCHAR *)ptr;
+        for (src = name, dst = (WCHAR *)ptr; *src; src++, dst++)
+            *dst = *src;
+        *dst++ = 0;
+        ptr = (char *)dst;
 
         if (num_addrs)
         {
-- 
1.6.3.2


More information about the wine-patches mailing list