regedit: Simplify the detection of existing registry values.

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Hugh McMaster 2018-05-21 13:34:57 +00:00 committed by Alexandre Julliard
parent a20f99b548
commit b24ee836bd
1 changed files with 4 additions and 7 deletions

View File

@ -184,12 +184,9 @@ static INT_PTR CALLBACK bin_modify_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wPara
return FALSE;
}
static BOOL check_value(HWND hwnd, HKEY hKey, LPCWSTR valueName)
static BOOL value_exists(HWND hwnd, HKEY hKey, const WCHAR *value_name)
{
WCHAR empty = 0;
LONG lRet = RegQueryValueExW(hKey, valueName ? valueName : &empty, 0, NULL, 0, NULL);
if(lRet != ERROR_SUCCESS) return FALSE;
return TRUE;
return !RegQueryValueExW(hKey, value_name, NULL, NULL, NULL, NULL);
}
static LPWSTR read_value(HWND hwnd, HKEY hKey, LPCWSTR valueName, DWORD *lpType, LONG *len)
@ -508,8 +505,8 @@ BOOL RenameValue(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR oldName, LPC
error_code_messagebox(hwnd, IDS_RENAME_VALUE_FAILED);
return FALSE;
}
/* check if the value already exists */
if (check_value(hwnd, hKey, newName)) {
if (value_exists(hwnd, hKey, newName)) {
error_code_messagebox(hwnd, IDS_VALUE_EXISTS, oldName);
goto done;
}