Hugh McMaster : reg: Delete the default registry value instead of overwriting it.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Mar 2 11:26:10 CST 2016


Module: wine
Branch: master
Commit: 81a030b934f61620415d62a1cae83541dbee0dff
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=81a030b934f61620415d62a1cae83541dbee0dff

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Wed Mar  2 21:31:18 2016 +1100

reg: Delete the default registry value instead of overwriting it.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/reg/reg.c       | 8 ++------
 programs/reg/tests/reg.c | 2 +-
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index bad9274..6ae4aa1 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -525,19 +525,15 @@ static int reg_delete(WCHAR *key_name, WCHAR *value_name, BOOL value_empty,
             /* FIXME  delete failed */
         }
     }
-    else if (value_name)
+    else if (value_name || value_empty)
     {
-        if (RegDeleteValueW(subkey,value_name) != ERROR_SUCCESS)
+        if (RegDeleteValueW(subkey, value_empty ? NULL : value_name) != ERROR_SUCCESS)
         {
             RegCloseKey(subkey);
             output_message(STRING_CANNOT_FIND);
             return 1;
         }
     }
-    else if (value_empty)
-    {
-        RegSetValueExW(subkey,NULL,0,REG_SZ,NULL,0);
-    }
 
     RegCloseKey(subkey);
     output_message(STRING_SUCCESS);
diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c
index d03fb2c..93de7ec 100644
--- a/programs/reg/tests/reg.c
+++ b/programs/reg/tests/reg.c
@@ -441,7 +441,7 @@ static void test_delete(void)
     run_reg_exe("reg delete HKCU\\" KEY_BASE " /ve /f", &r);
     ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
     err = RegQueryValueExA(hkey, "", NULL, NULL, NULL, NULL);
-    todo_wine ok(err == ERROR_FILE_NOT_FOUND, "got %d\n", err);
+    ok(err == ERROR_FILE_NOT_FOUND, "got %d, expected 2\n", err);
 
     run_reg_exe("reg delete HKCU\\" KEY_BASE " /va /f", &r);
     ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);




More information about the wine-cvs mailing list