Hugh McMaster : reg: Recognise hyphen and forward slash help switches.

Alexandre Julliard julliard at winehq.org
Fri Jun 3 10:03:45 CDT 2016


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

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Fri Jun  3 05:23:17 2016 +0000

reg: Recognise hyphen and forward slash help switches.

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

---

 programs/reg/reg.c | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index e3c2fdc..71c1b89 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -877,6 +877,17 @@ static int reg_query(WCHAR *key_name, WCHAR *value_name, BOOL value_empty, BOOL
     return ret;
 }
 
+static BOOL is_help_switch(const WCHAR *s)
+{
+    if (strlenW(s) > 2)
+        return FALSE;
+
+    if ((s[0] == '/' || s[0] == '-') && (s[1] == 'h' || s[1] == '?'))
+        return TRUE;
+
+    return FALSE;
+}
+
 int wmain(int argc, WCHAR *argvW[])
 {
     int i;
@@ -886,13 +897,11 @@ int wmain(int argc, WCHAR *argvW[])
     static const WCHAR queryW[] = {'q','u','e','r','y',0};
     static const WCHAR slashDW[] = {'/','d',0};
     static const WCHAR slashFW[] = {'/','f',0};
-    static const WCHAR slashHW[] = {'/','h',0};
     static const WCHAR slashSW[] = {'/','s',0};
     static const WCHAR slashTW[] = {'/','t',0};
     static const WCHAR slashVW[] = {'/','v',0};
     static const WCHAR slashVAW[] = {'/','v','a',0};
     static const WCHAR slashVEW[] = {'/','v','e',0};
-    static const WCHAR slashHelpW[] = {'/','?',0};
 
     if (argc == 1)
     {
@@ -901,7 +910,7 @@ int wmain(int argc, WCHAR *argvW[])
         return 1;
     }
 
-    if (!lstrcmpW(argvW[1], slashHelpW) || !lstrcmpiW(argvW[1], slashHW))
+    if (is_help_switch(argvW[1]))
     {
         output_message(STRING_USAGE);
         return 0;
@@ -918,8 +927,7 @@ int wmain(int argc, WCHAR *argvW[])
             output_message(STRING_FUNC_HELP, struprW(argvW[1]));
             return 1;
         }
-        else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
-                               !lstrcmpiW(argvW[2], slashHW)))
+        else if (argc == 3 && is_help_switch(argvW[2]))
         {
             output_message(STRING_ADD_USAGE);
             return 0;
@@ -976,8 +984,7 @@ int wmain(int argc, WCHAR *argvW[])
             output_message(STRING_FUNC_HELP, struprW(argvW[1]));
             return 1;
         }
-        else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
-                               !lstrcmpiW(argvW[2], slashHW)))
+        else if (argc == 3 && is_help_switch(argvW[2]))
         {
             output_message(STRING_DELETE_USAGE);
             return 0;
@@ -1014,8 +1021,7 @@ int wmain(int argc, WCHAR *argvW[])
             output_message(STRING_FUNC_HELP, struprW(argvW[1]));
             return 1;
         }
-        else if (argc == 3 && (!lstrcmpW(argvW[2], slashHelpW) ||
-                               !lstrcmpiW(argvW[2], slashHW)))
+        else if (argc == 3 && is_help_switch(argvW[2]))
         {
             output_message(STRING_QUERY_USAGE);
             return 0;




More information about the wine-cvs mailing list