From a0a12d9f417266d3b86b32de44e6f8e0fa066174 Mon Sep 17 00:00:00 2001 From: Hugh McMaster Date: Tue, 5 Dec 2017 11:25:19 +0000 Subject: [PATCH] reg: Allow switches to be uppercase or lowercase. Signed-off-by: Hugh McMaster Signed-off-by: Alexandre Julliard --- programs/reg/reg.c | 12 ++++++++++-- programs/reg/tests/reg.c | 10 +++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/programs/reg/reg.c b/programs/reg/reg.c index f3718ed2fbd..8d510f7f7ed 100644 --- a/programs/reg/reg.c +++ b/programs/reg/reg.c @@ -890,12 +890,20 @@ BOOL parse_registry_key(const WCHAR *key, HKEY *root, WCHAR **path, WCHAR **long return TRUE; } -static BOOL is_help_switch(const WCHAR *s) +static BOOL is_switch(const WCHAR *s, const WCHAR c) { if (strlenW(s) > 2) return FALSE; - if ((s[0] == '/' || s[0] == '-') && (s[1] == 'h' || s[1] == '?')) + if ((s[0] == '/' || s[0] == '-') && (s[1] == c || s[1] == toupperW(c))) + return TRUE; + + return FALSE; +} + +static BOOL is_help_switch(const WCHAR *s) +{ + if (is_switch(s, '?') || is_switch(s, 'h')) return TRUE; return FALSE; diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c index 04c995ef3a7..50fae7f0985 100644 --- a/programs/reg/tests/reg.c +++ b/programs/reg/tests/reg.c @@ -231,7 +231,7 @@ static void test_add(void) ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); run_reg_exe("reg add -H", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); err = RegDeleteKeyA(HKEY_CURRENT_USER, KEY_BASE); ok(err == ERROR_SUCCESS || err == ERROR_FILE_NOT_FOUND, "got %d\n", err); @@ -618,7 +618,7 @@ static void test_delete(void) ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); run_reg_exe("reg delete -H", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); add_key(HKEY_CURRENT_USER, KEY_BASE, &hkey); add_value(hkey, "foo", REG_DWORD, &deadbeef, sizeof(deadbeef)); @@ -676,7 +676,7 @@ static void test_query(void) ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); run_reg_exe("reg query -H", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); /* Create a test key */ add_key(HKEY_CURRENT_USER, KEY_BASE, &key); @@ -870,7 +870,7 @@ static void test_import(void) ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); run_reg_exe("reg import -H", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); run_reg_exe("reg import missing.reg", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r); @@ -4419,7 +4419,7 @@ static void test_export(void) ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); run_reg_exe("reg export -H", &r); - todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); run_reg_exe("reg export \\\\remote-pc\\HKLM\\Wine file.reg", &r); ok(r == REG_EXIT_FAILURE, "got exit code %d, expected 1\n", r);