iphlpapi: Honor GAA_FLAG_SKIP_FRIENDLY_NAME.

This commit is contained in:
Juan Lang 2010-10-11 08:50:00 -07:00 committed by Alexandre Julliard
parent c44c16cf74
commit 434cd6c609
1 changed files with 11 additions and 6 deletions

View File

@ -770,7 +770,9 @@ static ULONG adapterAddressesFromIndex(ULONG family, ULONG flags, DWORD index,
total_size = sizeof(IP_ADAPTER_ADDRESSES);
total_size += IF_NAMESIZE;
total_size += 2 * IF_NAMESIZE * sizeof(WCHAR);
total_size += IF_NAMESIZE * sizeof(WCHAR);
if (!(flags & GAA_FLAG_SKIP_FRIENDLY_NAME))
total_size += IF_NAMESIZE * sizeof(WCHAR);
total_size += sizeof(IP_ADAPTER_UNICAST_ADDRESS) * num_v4addrs;
total_size += sizeof(struct sockaddr_in) * num_v4addrs;
total_size += (sizeof(IP_ADAPTER_GATEWAY_ADDRESS) + sizeof(SOCKADDR_IN)) * num_v4_gateways;
@ -793,11 +795,14 @@ static ULONG adapterAddressesFromIndex(ULONG family, ULONG flags, DWORD index,
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 (!(flags & GAA_FLAG_SKIP_FRIENDLY_NAME))
{
aa->FriendlyName = (WCHAR *)ptr;
for (src = name, dst = (WCHAR *)ptr; *src; src++, dst++)
*dst = *src;
*dst++ = 0;
ptr = (char *)dst;
}
aa->Description = (WCHAR *)ptr;
for (src = name, dst = (WCHAR *)ptr; *src; src++, dst++)
*dst = *src;