Huw Davies : iphlpapi: Use wide character string literals.
Alexandre Julliard
julliard at winehq.org
Wed Oct 6 15:51:38 CDT 2021
Module: wine
Branch: master
Commit: 8f73b8e15f3b42b5ffc1641d4e2c31fae1f2ef9a
URL: https://source.winehq.org/git/wine.git/?a=commit;h=8f73b8e15f3b42b5ffc1641d4e2c31fae1f2ef9a
Author: Huw Davies <huw at codeweavers.com>
Date: Wed Oct 6 10:13:01 2021 +0100
iphlpapi: Use wide character string literals.
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/iphlpapi/iphlpapi_main.c | 59 +++++++++++++++----------------------------
1 file changed, 21 insertions(+), 38 deletions(-)
diff --git a/dlls/iphlpapi/iphlpapi_main.c b/dlls/iphlpapi/iphlpapi_main.c
index 42cd58fa1a6..d9a85beda5f 100644
--- a/dlls/iphlpapi/iphlpapi_main.c
+++ b/dlls/iphlpapi/iphlpapi_main.c
@@ -45,7 +45,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(iphlpapi);
#define CHARS_IN_GUID 39
-static const WCHAR device_tcpip[] = {'\\','D','E','V','I','C','E','\\','T','C','P','I','P','_',0};
+static const WCHAR *device_tcpip = L"\\DEVICE\\TCPIP_";
DWORD WINAPI AllocateAndGetIpAddrTableFromStack( MIB_IPADDRTABLE **table, BOOL sort, HANDLE heap, DWORD flags );
@@ -67,12 +67,8 @@ DWORD WINAPI ConvertGuidToStringA( const GUID *guid, char *str, DWORD len )
DWORD WINAPI ConvertGuidToStringW( const GUID *guid, WCHAR *str, DWORD len )
{
- static const WCHAR fmt[] = { '{','%','0','8','X','-','%','0','4','X','-','%','0','4','X','-',
- '%','0','2','X','%','0','2','X','-','%','0','2','X','%','0','2','X',
- '%','0','2','X','%','0','2','X','%','0','2','X','%','0','2','X','}',0 };
-
if (len < CHARS_IN_GUID) return ERROR_INSUFFICIENT_BUFFER;
- swprintf( str, len, fmt,
+ swprintf( str, len, L"{%08X-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}",
guid->Data1, guid->Data2, guid->Data3, guid->Data4[0], guid->Data4[1], guid->Data4[2],
guid->Data4[3], guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] );
return ERROR_SUCCESS;
@@ -1536,8 +1532,8 @@ DWORD WINAPI GetIcmpStatisticsEx( MIB_ICMP_EX *stats, DWORD family )
static void if_row_fill( MIB_IFROW *row, struct nsi_ndis_ifinfo_rw *rw, struct nsi_ndis_ifinfo_dynamic *dyn,
struct nsi_ndis_ifinfo_static *stat )
{
- memcpy( row->wszName, device_tcpip, sizeof(device_tcpip) );
- ConvertGuidToStringW( &stat->if_guid, row->wszName + ARRAY_SIZE(device_tcpip) - 1, CHARS_IN_GUID );
+ wcscpy( row->wszName, device_tcpip );
+ ConvertGuidToStringW( &stat->if_guid, row->wszName + wcslen( device_tcpip ), CHARS_IN_GUID );
row->dwIndex = stat->if_index;
row->dwType = stat->type;
row->dwMtu = dyn->mtu;
@@ -1917,8 +1913,8 @@ DWORD WINAPI GetInterfaceInfo( IP_INTERFACE_INFO *table, ULONG *size )
if (stat[i].type == IF_TYPE_SOFTWARE_LOOPBACK) continue;
row = table->Adapter + num++;
row->Index = stat[i].if_index;
- memcpy( row->Name, device_tcpip, sizeof(device_tcpip) );
- ConvertGuidToStringW( &stat[i].if_guid, row->Name + ARRAY_SIZE(device_tcpip) - 1, CHARS_IN_GUID );
+ wcscpy( row->Name, device_tcpip );
+ ConvertGuidToStringW( &stat[i].if_guid, row->Name + wcslen( device_tcpip ), CHARS_IN_GUID );
}
done:
NsiFreeTable( keys, NULL, NULL, stat );
@@ -4244,16 +4240,6 @@ DWORD WINAPI ConvertInterfaceLuidToNameA(const NET_LUID *luid, char *name, SIZE_
return err;
}
-static const WCHAR otherW[] = {'o','t','h','e','r',0};
-static const WCHAR ethernetW[] = {'e','t','h','e','r','n','e','t',0};
-static const WCHAR tokenringW[] = {'t','o','k','e','n','r','i','n','g',0};
-static const WCHAR pppW[] = {'p','p','p',0};
-static const WCHAR loopbackW[] = {'l','o','o','p','b','a','c','k',0};
-static const WCHAR atmW[] = {'a','t','m',0};
-static const WCHAR wirelessW[] = {'w','i','r','e','l','e','s','s',0};
-static const WCHAR tunnelW[] = {'t','u','n','n','e','l',0};
-static const WCHAR ieee1394W[] = {'i','e','e','e','1','3','9','4',0};
-
struct name_prefix
{
const WCHAR *prefix;
@@ -4261,15 +4247,15 @@ struct name_prefix
};
static const struct name_prefix name_prefixes[] =
{
- { otherW, IF_TYPE_OTHER },
- { ethernetW, IF_TYPE_ETHERNET_CSMACD },
- { tokenringW, IF_TYPE_ISO88025_TOKENRING },
- { pppW, IF_TYPE_PPP },
- { loopbackW, IF_TYPE_SOFTWARE_LOOPBACK },
- { atmW, IF_TYPE_ATM },
- { wirelessW, IF_TYPE_IEEE80211 },
- { tunnelW, IF_TYPE_TUNNEL },
- { ieee1394W, IF_TYPE_IEEE1394 }
+ { L"other", IF_TYPE_OTHER },
+ { L"ethernet", IF_TYPE_ETHERNET_CSMACD },
+ { L"tokenring", IF_TYPE_ISO88025_TOKENRING },
+ { L"ppp", IF_TYPE_PPP },
+ { L"loopback", IF_TYPE_SOFTWARE_LOOPBACK },
+ { L"atm", IF_TYPE_ATM },
+ { L"wireless", IF_TYPE_IEEE80211 },
+ { L"tunnel", IF_TYPE_TUNNEL },
+ { L"ieee1394", IF_TYPE_IEEE1394 }
};
/******************************************************************
@@ -4280,8 +4266,6 @@ DWORD WINAPI ConvertInterfaceLuidToNameW(const NET_LUID *luid, WCHAR *name, SIZE
DWORD i, needed;
const WCHAR *prefix = NULL;
WCHAR buf[IF_MAX_STRING_SIZE + 1];
- static const WCHAR prefix_fmt[] = {'%','s','_','%','d',0};
- static const WCHAR unk_fmt[] = {'i','f','t','y','p','e','%','d','_','%','d',0};
TRACE( "(%p %p %u)\n", luid, name, (DWORD)len );
@@ -4296,8 +4280,8 @@ DWORD WINAPI ConvertInterfaceLuidToNameW(const NET_LUID *luid, WCHAR *name, SIZE
}
}
- if (prefix) needed = swprintf( buf, len, prefix_fmt, prefix, luid->Info.NetLuidIndex );
- else needed = swprintf( buf, len, unk_fmt, luid->Info.IfType, luid->Info.NetLuidIndex );
+ if (prefix) needed = swprintf( buf, len, L"%s_%d", prefix, luid->Info.NetLuidIndex );
+ else needed = swprintf( buf, len, L"iftype%d_%d", luid->Info.IfType, luid->Info.NetLuidIndex );
if (needed >= len) return ERROR_NOT_ENOUGH_MEMORY;
memcpy( name, buf, (needed + 1) * sizeof(WCHAR) );
@@ -4326,8 +4310,8 @@ DWORD WINAPI ConvertInterfaceNameToLuidA(const char *name, NET_LUID *luid)
DWORD WINAPI ConvertInterfaceNameToLuidW(const WCHAR *name, NET_LUID *luid)
{
const WCHAR *sep;
- static const WCHAR iftype[] = {'i','f','t','y','p','e',0};
DWORD type = ~0u, i;
+ int iftype_len = wcslen( L"iftype" );
WCHAR buf[IF_MAX_STRING_SIZE + 1];
TRACE( "(%s %p)\n", debugstr_w(name), luid );
@@ -4339,9 +4323,9 @@ DWORD WINAPI ConvertInterfaceNameToLuidW(const WCHAR *name, NET_LUID *luid)
memcpy( buf, name, (sep - name) * sizeof(WCHAR) );
buf[sep - name] = '\0';
- if (sep - name > ARRAY_SIZE(iftype) - 1 && !memcmp( buf, iftype, (ARRAY_SIZE(iftype) - 1) * sizeof(WCHAR) ))
+ if (sep - name > iftype_len && !memcmp( buf, L"iftype", iftype_len * sizeof(WCHAR) ))
{
- type = wcstol( buf + ARRAY_SIZE(iftype) - 1, NULL, 10 );
+ type = wcstol( buf + iftype_len, NULL, 10 );
}
else
{
@@ -4564,7 +4548,6 @@ BOOL WINAPI IcmpCloseHandle( HANDLE handle )
HANDLE WINAPI IcmpCreateFile( void )
{
struct icmp_handle_data *data = heap_alloc( sizeof(*data) );
- static const WCHAR device_name[] = {'\\','\\','.','\\','N','s','i',0};
if (!data)
{
@@ -4572,7 +4555,7 @@ HANDLE WINAPI IcmpCreateFile( void )
return INVALID_HANDLE_VALUE;
}
- data->nsi_device = CreateFileW( device_name, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
+ data->nsi_device = CreateFileW( L"\\\\.\\Nsi", 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
FILE_FLAG_OVERLAPPED, NULL );
if (data->nsi_device == INVALID_HANDLE_VALUE)
{
More information about the wine-cvs
mailing list