Frédéric Delanoy : cmd: Fix REM tab handling.

Alexandre Julliard julliard at winehq.org
Thu Aug 25 13:00:16 CDT 2011


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

Author: Frédéric Delanoy <frederic.delanoy at gmail.com>
Date:   Thu Aug 25 00:48:21 2011 +0200

cmd: Fix REM tab handling.

---

 programs/cmd/tests/test_builtins.cmd     |    6 ++++++
 programs/cmd/tests/test_builtins.cmd.exp |    6 ++++++
 programs/cmd/wcmdmain.c                  |    7 +++----
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/programs/cmd/tests/test_builtins.cmd b/programs/cmd/tests/test_builtins.cmd
index 7c3353f..cd46dbd 100644
--- a/programs/cmd/tests/test_builtins.cmd
+++ b/programs/cmd/tests/test_builtins.cmd
@@ -58,12 +58,18 @@ rem  Hello
 rem   Hello || foo
 rem echo lol
 rem echo foo & echo bar
+rem @tab@  Hello
+rem at tab@  Hello
+rem at tab@echo foo & echo bar
 @echo on
 rem Hello
 rem  Hello
 rem   Hello || foo
 rem echo lol
 rem echo foo & echo bar
+rem @tab@  Hello
+rem at tab@  Hello
+rem at tab@echo foo & echo bar
 @echo off
 
 echo ------------ Testing redirection operators --------------
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index 7435c72..dafb6a3 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -106,6 +106,12 @@ word
 @pwd@>rem echo lol at space@
 
 @pwd@>rem echo foo & echo bar at space@
+
+ at pwd@>rem @tab@  Hello at space@
+
+ at pwd@>rem at tab@  Hello at space@
+
+ at pwd@>rem at tab@echo foo & echo bar at space@
 ------------ Testing redirection operators --------------
 ...stdout redirection
 foo
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index 47af612..3efabfa 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -1753,7 +1753,7 @@ WCHAR *WCMD_ReadAndParseLine(const WCHAR *optionalcmd, CMD_LIST **output, HANDLE
     CMD_LIST *lastEntry = NULL;
     CMD_DELIMITERS prevDelim = CMD_NONE;
     static WCHAR    *extraSpace = NULL;  /* Deliberately never freed */
-    const WCHAR remCmd[] = {'r','e','m',' ','\0'};
+    const WCHAR remCmd[] = {'r','e','m'};
     const WCHAR forCmd[] = {'f','o','r'};
     const WCHAR ifCmd[]  = {'i','f',' ','\0'};
     const WCHAR ifElse[] = {'e','l','s','e',' ','\0'};
@@ -1840,9 +1840,8 @@ WCHAR *WCMD_ReadAndParseLine(const WCHAR *optionalcmd, CMD_LIST **output, HANDLE
       if (curStringLen == 0 && curCopyTo == curString) {
         const WCHAR forDO[] = {'d','o'};
 
-        /* If command starts with 'rem', ignore any &&, ( etc */
-        if (CompareStringW(LOCALE_USER_DEFAULT, NORM_IGNORECASE | SORT_STRINGSORT,
-          curPos, 4, remCmd, -1) == CSTR_EQUAL) {
+        /* If command starts with 'rem ', ignore any &&, ( etc. */
+        if (WCMD_keyword_ws_found(remCmd, sizeof(remCmd)/sizeof(remCmd[0]), curPos)) {
           inRem = TRUE;
 
         } else if (WCMD_keyword_ws_found(forCmd, sizeof(forCmd)/sizeof(forCmd[0]), curPos)) {




More information about the wine-cvs mailing list