Andrew Nguyen : reg: Fix behavior when specifying the help flag.

Alexandre Julliard julliard at winehq.org
Tue Jun 30 08:33:34 CDT 2009


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

Author: Andrew Nguyen <arethusa26 at gmail.com>
Date:   Sat Jun 27 17:45:26 2009 -0500

reg: Fix behavior when specifying the help flag.

---

 programs/reg/reg.c |   26 +++++++++++++++++++++-----
 1 files changed, 21 insertions(+), 5 deletions(-)

diff --git a/programs/reg/reg.c b/programs/reg/reg.c
index fcb0969..aa9d440 100644
--- a/programs/reg/reg.c
+++ b/programs/reg/reg.c
@@ -357,11 +357,12 @@ int wmain(int argc, WCHAR *argvW[])
     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 < 2)
+    if (argc < 2 || !lstrcmpW(argvW[1], slashHelpW))
     {
         reg_message(STRING_USAGE);
-        return 1;
+        return 0;
     }
 
     if (!lstrcmpiW(argvW[1], addW))
@@ -371,9 +372,14 @@ int wmain(int argc, WCHAR *argvW[])
 
         if (argc < 3)
         {
-            reg_message(STRING_ADD_USAGE);
+            reg_message(STRING_INVALID_CMDLINE);
             return 1;
         }
+        else if (argc == 3 && !lstrcmpW(argvW[2], slashHelpW))
+        {
+            reg_message(STRING_ADD_USAGE);
+            return 0;
+        }
 
         key_name = argvW[2];
         for (i = 1; i < argc; i++)
@@ -401,9 +407,14 @@ int wmain(int argc, WCHAR *argvW[])
 
         if (argc < 3)
         {
-            reg_message(STRING_DELETE_USAGE);
+            reg_message(STRING_INVALID_CMDLINE);
             return 1;
         }
+        else if (argc == 3 && !lstrcmpW(argvW[2], slashHelpW))
+        {
+            reg_message(STRING_DELETE_USAGE);
+            return 0;
+        }
 
         key_name = argvW[2];
         for (i = 1; i < argc; i++)
@@ -426,9 +437,14 @@ int wmain(int argc, WCHAR *argvW[])
 
         if (argc < 3)
         {
-            reg_message(STRING_QUERY_USAGE);
+            reg_message(STRING_INVALID_CMDLINE);
             return 1;
         }
+        else if (argc == 3 && !lstrcmpW(argvW[2], slashHelpW))
+        {
+            reg_message(STRING_QUERY_USAGE);
+            return 0;
+        }
 
         key_name = argvW[2];
         for (i = 1; i < argc; i++)




More information about the wine-cvs mailing list