From 1fb9e7536b66cae7bd157c28398438c46a56e781 Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Tue, 31 Jul 2007 21:17:57 +0000 Subject: [PATCH] - don't write more bytes to the reg key than is required. fixes bug 2402 - use unicode explicitly See issue #2402 for more details. svn path=/trunk/; revision=28056 --- reactos/dll/cpl/timedate/internettime.c | 154 ++++++++++++------------ 1 file changed, 77 insertions(+), 77 deletions(-) diff --git a/reactos/dll/cpl/timedate/internettime.c b/reactos/dll/cpl/timedate/internettime.c index 34fd6ad7759..0734b314598 100644 --- a/reactos/dll/cpl/timedate/internettime.c +++ b/reactos/dll/cpl/timedate/internettime.c @@ -13,8 +13,8 @@ static VOID CreateNTPServerList(HWND hwnd) { HWND hList; - TCHAR szValName[MAX_VALUE_NAME]; - TCHAR szData[256]; + WCHAR szValName[MAX_VALUE_NAME]; + WCHAR szData[256]; DWORD dwIndex = 0; DWORD dwValSize; DWORD dwNameSize; @@ -25,8 +25,8 @@ CreateNTPServerList(HWND hwnd) hList = GetDlgItem(hwnd, IDC_SERVERLIST); - lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, - _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Servers"), + lRet = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Servers", 0, KEY_QUERY_VALUE, &hKey); @@ -35,30 +35,30 @@ CreateNTPServerList(HWND hwnd) while (TRUE) { - dwValSize = MAX_VALUE_NAME * sizeof(TCHAR); - szValName[0] = '\0'; - lRet = RegEnumValue(hKey, - dwIndex, - szValName, - &dwValSize, - NULL, - NULL, - (LPBYTE)szData, - &dwNameSize); + dwValSize = MAX_VALUE_NAME * sizeof(WCHAR); + szValName[0] = L'\0'; + lRet = RegEnumValueW(hKey, + dwIndex, + szValName, + &dwValSize, + NULL, + NULL, + (LPBYTE)szData, + &dwNameSize); if (lRet == ERROR_SUCCESS) { /* get date from default reg value */ - if (_tcscmp(szValName, _T("")) == 0) // if (Index == 0) + if (wcscmp(szValName, L"") == 0) // if (Index == 0) { - dwDefault = _ttoi(szData); + dwDefault = _wtoi(szData); dwIndex++; } else { - SendMessage(hList, - CB_ADDSTRING, - 0, - (LPARAM)szData); + SendMessageW(hList, + CB_ADDSTRING, + 0, + (LPARAM)szData); dwIndex++; } } @@ -75,10 +75,10 @@ CreateNTPServerList(HWND hwnd) * combo boxes count from 0 */ dwDefault--; - SendMessage(hList, - CB_SETCURSEL, - dwDefault, - 0); + SendMessageW(hList, + CB_SETCURSEL, + dwDefault, + 0); RegCloseKey(hKey); } @@ -91,13 +91,13 @@ SetNTPServer(HWND hwnd) HKEY hKey; HWND hList; UINT uSel; - TCHAR szSel[4]; + WCHAR szSel[4]; LONG lRet; hList = GetDlgItem(hwnd, IDC_SERVERLIST); - uSel = (UINT)SendMessage(hList, CB_GETCURSEL, 0, 0); + uSel = (UINT)SendMessageW(hList, CB_GETCURSEL, 0, 0); /* server reg entries count from 1, * combo boxes count from 0 */ @@ -106,11 +106,11 @@ SetNTPServer(HWND hwnd) /* convert to wide char */ _itow(uSel, szSel, 10); - lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, - _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Servers"), - 0, - KEY_SET_VALUE, - &hKey); + lRet = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Servers", + 0, + KEY_SET_VALUE, + &hKey); if (lRet != ERROR_SUCCESS) { DisplayWin32Error(lRet); @@ -118,11 +118,11 @@ SetNTPServer(HWND hwnd) } lRet = RegSetValueExW(hKey, - _T(""), + L"", 0, REG_SZ, (LPBYTE)szSel, - sizeof(szSel)); + (wcslen(szSel) + 1) * sizeof(WCHAR)); if (lRet != ERROR_SUCCESS) DisplayWin32Error(lRet); @@ -132,43 +132,43 @@ SetNTPServer(HWND hwnd) /* get the domain name from the registry */ static BOOL -GetNTPServerAddress(LPTSTR *lpAddress) +GetNTPServerAddress(LPWSTR *lpAddress) { HKEY hKey; - TCHAR szSel[4]; + WCHAR szSel[4]; DWORD dwSize; LONG lRet; - lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, - _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Servers"), - 0, - KEY_QUERY_VALUE, - &hKey); + lRet = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Servers", + 0, + KEY_QUERY_VALUE, + &hKey); if (lRet != ERROR_SUCCESS) goto fail; /* Get data from default value */ - dwSize = 4 * sizeof(TCHAR); - lRet = RegQueryValueEx(hKey, - _T(""), - NULL, - NULL, - (LPBYTE)szSel, - &dwSize); + dwSize = 4 * sizeof(WCHAR); + lRet = RegQueryValueExW(hKey, + NULL, + NULL, + NULL, + (LPBYTE)szSel, + &dwSize); if (lRet != ERROR_SUCCESS) goto fail; dwSize = 0; - lRet = RegQueryValueEx(hKey, - szSel, - NULL, - NULL, - NULL, - &dwSize); + lRet = RegQueryValueExW(hKey, + szSel, + NULL, + NULL, + NULL, + &dwSize); if (lRet != ERROR_SUCCESS) goto fail; - (*lpAddress) = (LPTSTR)HeapAlloc(GetProcessHeap(), + (*lpAddress) = (LPWSTR)HeapAlloc(GetProcessHeap(), 0, dwSize); if ((*lpAddress) == NULL) @@ -177,12 +177,12 @@ GetNTPServerAddress(LPTSTR *lpAddress) goto fail; } - lRet = RegQueryValueEx(hKey, - szSel, - NULL, - NULL, - (LPBYTE)*lpAddress, - &dwSize); + lRet = RegQueryValueExW(hKey, + szSel, + NULL, + NULL, + (LPBYTE)*lpAddress, + &dwSize); if (lRet != ERROR_SUCCESS) goto fail; @@ -203,7 +203,7 @@ fail: static ULONG GetTimeFromServer(VOID) { - LPTSTR lpAddress = NULL; + LPWSTR lpAddress = NULL; ULONG ulTime = 0; if (GetNTPServerAddress(&lpAddress)) @@ -269,7 +269,7 @@ EnableDialogText(HWND hwnd) BOOL bChecked; UINT uCheck; - uCheck = (UINT)SendDlgItemMessage(hwnd, IDC_AUTOSYNC, BM_GETCHECK, 0, 0); + uCheck = (UINT)SendDlgItemMessageW(hwnd, IDC_AUTOSYNC, BM_GETCHECK, 0, 0); bChecked = (uCheck == BST_CHECKED) ? TRUE : FALSE; EnableWindow(GetDlgItem(hwnd, IDC_SERVERTEXT), bChecked); @@ -284,25 +284,25 @@ static VOID GetSyncSetting(HWND hwnd) { HKEY hKey; - TCHAR szData[8]; + WCHAR szData[8]; DWORD dwSize; - if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, - _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Parameters"), - 0, - KEY_QUERY_VALUE, - &hKey) == ERROR_SUCCESS) + if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\DateTime\\Parameters", + 0, + KEY_QUERY_VALUE, + &hKey) == ERROR_SUCCESS) { - dwSize = 8 * sizeof(TCHAR); - if (RegQueryValueEx(hKey, - _T("Type"), - NULL, - NULL, - (LPBYTE)szData, - &dwSize) == ERROR_SUCCESS) + dwSize = 8 * sizeof(WCHAR); + if (RegQueryValueExW(hKey, + L"Type", + NULL, + NULL, + (LPBYTE)szData, + &dwSize) == ERROR_SUCCESS) { - if (_tcscmp(szData, _T("NTP")) == 0) - SendDlgItemMessage(hwnd, IDC_AUTOSYNC, BM_SETCHECK, 0, 0); + if (wcscmp(szData, L"NTP") == 0) + SendDlgItemMessageW(hwnd, IDC_AUTOSYNC, BM_SETCHECK, 0, 0); } RegCloseKey(hKey); -- 2.17.1