iphlpapi: Rewrite ConvertInterfaceLuidToNameA/NameToLuidA() to call their unicode equivalents.
Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
84a51219b5
commit
363fc54a1c
|
@ -3244,21 +3244,20 @@ DWORD WINAPI ConvertInterfaceLuidToIndex(const NET_LUID *luid, NET_IFINDEX *inde
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI ConvertInterfaceLuidToNameA(const NET_LUID *luid, char *name, SIZE_T len)
|
DWORD WINAPI ConvertInterfaceLuidToNameA(const NET_LUID *luid, char *name, SIZE_T len)
|
||||||
{
|
{
|
||||||
DWORD ret;
|
DWORD err;
|
||||||
MIB_IFROW row;
|
WCHAR nameW[IF_MAX_STRING_SIZE + 1];
|
||||||
|
|
||||||
TRACE("(%p %p %u)\n", luid, name, (DWORD)len);
|
TRACE( "(%p %p %u)\n", luid, name, (DWORD)len );
|
||||||
|
|
||||||
if (!luid) return ERROR_INVALID_PARAMETER;
|
if (!luid) return ERROR_INVALID_PARAMETER;
|
||||||
|
if (!name || !len) return ERROR_NOT_ENOUGH_MEMORY;
|
||||||
|
|
||||||
row.dwIndex = luid->Info.NetLuidIndex;
|
err = ConvertInterfaceLuidToNameW( luid, nameW, ARRAY_SIZE(nameW) );
|
||||||
if ((ret = GetIfEntry( &row ))) return ret;
|
if (err) return err;
|
||||||
|
|
||||||
if (!name || len < WideCharToMultiByte( CP_UNIXCP, 0, row.wszName, -1, NULL, 0, NULL, NULL ))
|
if (!WideCharToMultiByte( CP_UNIXCP, 0, nameW, -1, name, len, NULL, NULL ))
|
||||||
return ERROR_NOT_ENOUGH_MEMORY;
|
err = GetLastError();
|
||||||
|
return err;
|
||||||
WideCharToMultiByte( CP_UNIXCP, 0, row.wszName, -1, name, len, NULL, NULL );
|
|
||||||
return NO_ERROR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
|
@ -3286,22 +3285,15 @@ DWORD WINAPI ConvertInterfaceLuidToNameW(const NET_LUID *luid, WCHAR *name, SIZE
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI ConvertInterfaceNameToLuidA(const char *name, NET_LUID *luid)
|
DWORD WINAPI ConvertInterfaceNameToLuidA(const char *name, NET_LUID *luid)
|
||||||
{
|
{
|
||||||
DWORD ret;
|
WCHAR nameW[IF_MAX_STRING_SIZE];
|
||||||
IF_INDEX index;
|
|
||||||
MIB_IFROW row;
|
|
||||||
|
|
||||||
TRACE("(%s %p)\n", debugstr_a(name), luid);
|
TRACE( "(%s %p)\n", debugstr_a(name), luid );
|
||||||
|
|
||||||
if ((ret = getInterfaceIndexByName( name, &index ))) return ERROR_INVALID_NAME;
|
if (!name) return ERROR_INVALID_NAME;
|
||||||
if (!luid) return ERROR_INVALID_PARAMETER;
|
if (!MultiByteToWideChar( CP_UNIXCP, 0, name, -1, nameW, ARRAY_SIZE(nameW) ))
|
||||||
|
return GetLastError();
|
||||||
|
|
||||||
row.dwIndex = index;
|
return ConvertInterfaceNameToLuidW( nameW, luid );
|
||||||
if ((ret = GetIfEntry( &row ))) return ret;
|
|
||||||
|
|
||||||
luid->Info.Reserved = 0;
|
|
||||||
luid->Info.NetLuidIndex = index;
|
|
||||||
luid->Info.IfType = row.dwType;
|
|
||||||
return NO_ERROR;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************
|
/******************************************************************
|
||||||
|
|
Loading…
Reference in New Issue