Andrew Nguyen : regedit: Convert the edit code to Unicode.
Alexandre Julliard
julliard at winehq.org
Mon Apr 18 11:10:52 CDT 2011
Module: wine
Branch: master
Commit: 8f0bc1e2ed31158af0b43571c55ac28784a262c3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8f0bc1e2ed31158af0b43571c55ac28784a262c3
Author: Andrew Nguyen <anguyen at codeweavers.com>
Date: Sat Apr 16 03:07:13 2011 -0500
regedit: Convert the edit code to Unicode.
---
programs/regedit/edit.c | 27 +++++++++++++++------------
1 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/programs/regedit/edit.c b/programs/regedit/edit.c
index d9f4005..57edbb5 100644
--- a/programs/regedit/edit.c
+++ b/programs/regedit/edit.c
@@ -106,13 +106,16 @@ static void error_code_messagebox(HWND hwnd, DWORD error_code)
static BOOL change_dword_base(HWND hwndDlg, BOOL toHex)
{
- TCHAR buf[128];
+ static const WCHAR percent_u[] = {'%','u',0};
+ static const WCHAR percent_x[] = {'%','x',0};
+
+ WCHAR buf[128];
DWORD val;
- if (!GetDlgItemText(hwndDlg, IDC_VALUE_DATA, buf, COUNT_OF(buf))) return FALSE;
- if (!_stscanf(buf, toHex ? "%u" : "%x", &val)) return FALSE;
- wsprintf(buf, toHex ? "%x" : "%u", val);
- return SetDlgItemText(hwndDlg, IDC_VALUE_DATA, buf);
+ if (!GetDlgItemTextW(hwndDlg, IDC_VALUE_DATA, buf, COUNT_OF(buf))) return FALSE;
+ if (!swscanf(buf, toHex ? percent_u : percent_x, &val)) return FALSE;
+ wsprintfW(buf, toHex ? percent_x : percent_u, val);
+ return SetDlgItemTextW(hwndDlg, IDC_VALUE_DATA, buf);
}
static INT_PTR CALLBACK modify_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
@@ -163,18 +166,18 @@ static INT_PTR CALLBACK bin_modify_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wPara
switch(uMsg) {
case WM_INITDIALOG:
params = (struct edit_params *)lParam;
- SetWindowLongPtr(hwndDlg, DWLP_USER, (ULONG_PTR)params);
+ SetWindowLongPtrW(hwndDlg, DWLP_USER, (ULONG_PTR)params);
if (params->lpszValueName)
SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, params->lpszValueName);
else
SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, g_pszDefaultValueName);
- SendDlgItemMessage(hwndDlg, IDC_VALUE_DATA, HEM_SETDATA, (WPARAM)params->cbData, (LPARAM)params->pData);
+ SendDlgItemMessageW(hwndDlg, IDC_VALUE_DATA, HEM_SETDATA, (WPARAM)params->cbData, (LPARAM)params->pData);
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
case IDOK:
- params = (struct edit_params *)GetWindowLongPtr(hwndDlg, DWLP_USER);
- cbData = SendDlgItemMessage(hwndDlg, IDC_VALUE_DATA, HEM_GETDATA, 0, 0);
+ params = (struct edit_params *)GetWindowLongPtrW(hwndDlg, DWLP_USER);
+ cbData = SendDlgItemMessageW(hwndDlg, IDC_VALUE_DATA, HEM_GETDATA, 0, 0);
pData = HeapAlloc(GetProcessHeap(), 0, cbData);
if (pData)
@@ -263,7 +266,7 @@ BOOL CreateKey(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, LPWSTR keyName)
goto done;
}
- if (!LoadStringW(GetModuleHandle(0), IDS_NEWKEY, newKey, COUNT_OF(newKey))) goto done;
+ if (!LoadStringW(GetModuleHandleW(0), IDS_NEWKEY, newKey, COUNT_OF(newKey))) goto done;
/* try to find out a name for the newly create key (max 100 times) */
for (keyNum = 1; keyNum < 100; keyNum++) {
@@ -330,7 +333,7 @@ BOOL ModifyValue(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR valueName)
params.lpszValueName = valueName;
params.pData = stringValueData;
params.cbData = len;
- result = DialogBoxParam(NULL, MAKEINTRESOURCE(IDD_EDIT_BINARY), hwnd,
+ result = DialogBoxParamW(NULL, MAKEINTRESOURCEW(IDD_EDIT_BINARY), hwnd,
bin_modify_dlgproc, (LPARAM)¶ms);
} else if ( type == REG_MULTI_SZ ) {
WCHAR char1 = '\r', char2 = '\n';
@@ -467,7 +470,7 @@ BOOL CreateValue(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, DWORD valueType, LPW
return FALSE;
}
- if (!LoadStringW(GetModuleHandle(0), IDS_NEWVALUE, newValue, COUNT_OF(newValue))) goto done;
+ if (!LoadStringW(GetModuleHandleW(0), IDS_NEWVALUE, newValue, COUNT_OF(newValue))) goto done;
/* try to find out a name for the newly create key (max 100 times) */
for (valueNum = 1; valueNum < 100; valueNum++) {
More information about the wine-cvs
mailing list