Hugh McMaster : reg: Simplify help logic and syntax.

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


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

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

reg: Simplify help logic and syntax.

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

---

 programs/reg/reg.c | 35 ++++++++++++++---------------------
 1 file changed, 14 insertions(+), 21 deletions(-)

diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index db737f7..417fe88 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -916,6 +916,7 @@ static enum operations get_operation(const WCHAR *str)
 int wmain(int argc, WCHAR *argvW[])
 {
     int i, op;
+    BOOL show_op_help = FALSE;
     static const WCHAR slashDW[] = {'/','d',0};
     static const WCHAR slashFW[] = {'/','f',0};
     static const WCHAR slashSW[] = {'/','s',0};
@@ -946,18 +947,22 @@ int wmain(int argc, WCHAR *argvW[])
         return 1;
     }
 
+    if (argc > 2)
+        show_op_help = is_help_switch(argvW[2]);
+
+    if (argc == 2 || (show_op_help && argc > 3))
+    {
+        output_message(STRING_INVALID_SYNTAX);
+        output_message(STRING_FUNC_HELP, struprW(argvW[1]));
+        return 1;
+    }
+
     if (op == REG_ADD)
     {
         WCHAR *key_name, *value_name = NULL, *type = NULL, separator = '\0', *data = NULL;
         BOOL value_empty = FALSE, force = FALSE;
 
-        if (argc < 3)
-        {
-            output_message(STRING_INVALID_SYNTAX);
-            output_message(STRING_FUNC_HELP, struprW(argvW[1]));
-            return 1;
-        }
-        else if (argc == 3 && is_help_switch(argvW[2]))
+        if (show_op_help)
         {
             output_message(STRING_ADD_USAGE);
             return 0;
@@ -1008,13 +1013,7 @@ int wmain(int argc, WCHAR *argvW[])
         WCHAR *key_name, *value_name = NULL;
         BOOL value_empty = FALSE, value_all = FALSE, force = FALSE;
 
-        if (argc < 3)
-        {
-            output_message(STRING_INVALID_SYNTAX);
-            output_message(STRING_FUNC_HELP, struprW(argvW[1]));
-            return 1;
-        }
-        else if (argc == 3 && is_help_switch(argvW[2]))
+        if (show_op_help)
         {
             output_message(STRING_DELETE_USAGE);
             return 0;
@@ -1045,13 +1044,7 @@ int wmain(int argc, WCHAR *argvW[])
         WCHAR *key_name, *value_name = NULL;
         BOOL value_empty = FALSE, recurse = FALSE;
 
-        if (argc < 3)
-        {
-            output_message(STRING_INVALID_SYNTAX);
-            output_message(STRING_FUNC_HELP, struprW(argvW[1]));
-            return 1;
-        }
-        else if (argc == 3 && is_help_switch(argvW[2]))
+        if (show_op_help)
         {
             output_message(STRING_QUERY_USAGE);
             return 0;




More information about the wine-cvs mailing list