Bruno Jesus : notepad: Only skip valid command options.

Alexandre Julliard julliard at winehq.org
Tue Jan 31 15:42:50 CST 2017


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

Author: Bruno Jesus <00cpxxx at gmail.com>
Date:   Tue Jan 31 01:31:33 2017 -0200

notepad: Only skip valid command options.

Signed-off-by: Bruno Jesus <00cpxxx at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/notepad/main.c | 21 ++++++++++++++-------
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/programs/notepad/main.c b/programs/notepad/main.c
index 20e887b..6f567a9 100644
--- a/programs/notepad/main.c
+++ b/programs/notepad/main.c
@@ -615,7 +615,7 @@ static int AlertFileDoesNotExist(LPCWSTR szFileName)
 
 static void HandleCommandLine(LPWSTR cmdline)
 {
-    WCHAR delimiter;
+    WCHAR delimiter, *ptr;
     BOOL opt_print = FALSE;
 
     /* skip white space */
@@ -630,22 +630,29 @@ static void HandleCommandLine(LPWSTR cmdline)
 
     if (*cmdline == delimiter) cmdline++;
 
-    while (*cmdline == ' ' || *cmdline == '-' || *cmdline == '/')
+    ptr = cmdline;
+    while (*ptr == ' ' || *ptr == '-' || *ptr == '/')
     {
         WCHAR option;
 
-        if (*cmdline++ == ' ') continue;
+        if (*ptr++ == ' ') continue;
 
-        option = *cmdline;
-        if (option) cmdline++;
-        while (*cmdline == ' ') cmdline++;
+        option = *ptr;
+        if (option) ptr++;
+        while (*ptr == ' ') ptr++;
 
         switch(option)
         {
             case 'p':
             case 'P':
-                opt_print = TRUE;
+            {
+                if (!opt_print)
+                {
+                    opt_print = TRUE;
+                    cmdline = ptr;
+                }
                 break;
+            }
         }
     }
 




More information about the wine-cvs mailing list