X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=base%2Fapplications%2Fnetwork%2Fipconfig%2Fipconfig.c;h=265761441909c54b286f22d79a92914f58d15aff;hp=3d9de7d8e19c3c5c13c5f0c2e783dcf5fad0f844;hb=406dfdbc870f3a6874c0959a87428c94f7526d3b;hpb=c4c880d59c726905c343733fd16377e924921e52 diff --git a/base/applications/network/ipconfig/ipconfig.c b/base/applications/network/ipconfig/ipconfig.c index 3d9de7d8e19..26576144190 100644 --- a/base/applications/network/ipconfig/ipconfig.c +++ b/base/applications/network/ipconfig/ipconfig.c @@ -25,6 +25,17 @@ HINSTANCE hInstance; HANDLE ProcessHeap; +int LoadStringAndOem(HINSTANCE hInst, + UINT uID, + LPTSTR szNode, + int Siz +) +{ + TCHAR szTmp[25]; + int res = LoadString(hInst, uID, szTmp, sizeof(szTmp)); + CharToOem(szTmp, szNode); + return(res); +} LPTSTR GetNodeTypeName(UINT NodeType) { @@ -33,27 +44,27 @@ LPTSTR GetNodeTypeName(UINT NodeType) switch (NodeType) { case 1: - if (!LoadString(hInstance, IDS_BCAST, szNode, sizeof(szNode))) + if (!LoadStringAndOem(hInstance, IDS_BCAST, szNode, sizeof(szNode))) return NULL; break; case 2: - if (!LoadString(hInstance, IDS_P2P, szNode, sizeof(szNode))) + if (!LoadStringAndOem(hInstance, IDS_P2P, szNode, sizeof(szNode))) return NULL; break; case 4: - if (!LoadString(hInstance, IDS_MIXED, szNode, sizeof(szNode))) + if (!LoadStringAndOem(hInstance, IDS_MIXED, szNode, sizeof(szNode))) return NULL; break; case 8: - if (!LoadString(hInstance, IDS_HYBRID, szNode, sizeof(szNode))) + if (!LoadStringAndOem(hInstance, IDS_HYBRID, szNode, sizeof(szNode))) return NULL; break; default : - if (!LoadString(hInstance, IDS_UNKNOWN, szNode, sizeof(szNode))) + if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szNode, sizeof(szNode))) return NULL; break; } @@ -69,42 +80,42 @@ LPTSTR GetInterfaceTypeName(UINT InterfaceType) switch (InterfaceType) { case MIB_IF_TYPE_OTHER: - if (!LoadString(hInstance, IDS_OTHER, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_OTHER, szIntType, sizeof(szIntType))) return NULL; break; case MIB_IF_TYPE_ETHERNET: - if (!LoadString(hInstance, IDS_ETH, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_ETH, szIntType, sizeof(szIntType))) return NULL; break; case MIB_IF_TYPE_TOKENRING: - if (!LoadString(hInstance, IDS_TOKEN, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_TOKEN, szIntType, sizeof(szIntType))) return NULL; break; case MIB_IF_TYPE_FDDI: - if (!LoadString(hInstance, IDS_FDDI, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_FDDI, szIntType, sizeof(szIntType))) return NULL; break; case MIB_IF_TYPE_PPP: - if (!LoadString(hInstance, IDS_PPP, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_PPP, szIntType, sizeof(szIntType))) return NULL; break; case MIB_IF_TYPE_LOOPBACK: - if (!LoadString(hInstance, IDS_LOOP, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_LOOP, szIntType, sizeof(szIntType))) return NULL; break; case MIB_IF_TYPE_SLIP: - if (!LoadString(hInstance, IDS_SLIP, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_SLIP, szIntType, sizeof(szIntType))) return NULL; break; default: - if (!LoadString(hInstance, IDS_UNKNOWN, szIntType, sizeof(szIntType))) + if (!LoadStringAndOem(hInstance, IDS_UNKNOWN, szIntType, sizeof(szIntType))) return NULL; break; } @@ -153,6 +164,7 @@ LPTSTR GetConnectionType(LPTSTR lpClass) { HKEY hKey = NULL; LPTSTR ConType = NULL; + LPTSTR ConTypeTmp = NULL; TCHAR Path[256]; LPTSTR PrePath = _T("SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}\\"); LPTSTR PostPath = _T("\\Connection"); @@ -180,24 +192,34 @@ LPTSTR GetConnectionType(LPTSTR lpClass) NULL, &dwDataSize) == ERROR_SUCCESS) { + ConTypeTmp = (LPTSTR)HeapAlloc(ProcessHeap, + 0, + dwDataSize); + ConType = (LPTSTR)HeapAlloc(ProcessHeap, 0, dwDataSize); - if (ConType) + if (ConType && ConTypeTmp) { if(RegQueryValueEx(hKey, _T("Name"), NULL, &dwType, - (PBYTE)ConType, + (PBYTE)ConTypeTmp, &dwDataSize) != ERROR_SUCCESS) { HeapFree(ProcessHeap, 0, ConType); + HeapFree(ProcessHeap, + 0, + ConTypeTmp); + ConType = NULL; } + + if (ConType) CharToOem(ConTypeTmp, ConType); } } } @@ -674,7 +696,7 @@ VOID Usage(VOID) if (lpUsage == NULL) return; - if (LoadString(hInstance, + if (LoadStringAndOem(hInstance, IDS_USAGE, lpUsage, Size))