[PATCH 07/11] regedit: Simplify the detection of existing registry values

Hugh McMaster hugh.mcmaster at outlook.com
Mon May 21 08:34:57 CDT 2018


Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/regedit/edit.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/programs/regedit/edit.c b/programs/regedit/edit.c
index bd6d720f2a..980d1c22d8 100644
--- a/programs/regedit/edit.c
+++ b/programs/regedit/edit.c
@@ -183,12 +183,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 ? value_name : NULL, NULL, NULL, NULL, NULL);
 }
 
 static LPWSTR read_value(HWND hwnd, HKEY hKey, LPCWSTR valueName, DWORD *lpType, LONG *len)
@@ -507,8 +504,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;
     }
-- 
2.17.0




More information about the wine-devel mailing list