cmd: ignore spaces before goto label (1/2)

Austin English austinenglish at gmail.com
Tue Mar 23 22:48:25 CDT 2010


First patch is by Nikolay Sivov. Proper credit is in the patch itself.
He asked me to send, since he's busy.

Fixes http://bugs.winehq.org/show_bug.cgi?id=22076.

-- 
-Austin
-------------- next part --------------
From fa77c543d037e26434eebbd238fe08613401db94 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Tue, 23 Mar 2010 22:45:25 -0500
Subject: [PATCH 1/2] cmd: ignore spaces before GOTO label

---
 programs/cmd/builtins.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/programs/cmd/builtins.c b/programs/cmd/builtins.c
index 15d320c..8049ed8 100644
--- a/programs/cmd/builtins.c
+++ b/programs/cmd/builtins.c
@@ -1165,7 +1165,7 @@ void WCMD_goto (CMD_LIST **cmdList) {
     return;
   }
   if (context != NULL) {
-    WCHAR *paramStart = param1;
+    WCHAR *paramStart = param1, *str;
     static const WCHAR eofW[] = {':','e','o','f','\0'};
 
     /* Handle special :EOF label */
@@ -1179,7 +1179,9 @@ void WCMD_goto (CMD_LIST **cmdList) {
 
     SetFilePointer (context -> h, 0, NULL, FILE_BEGIN);
     while (WCMD_fgets (string, sizeof(string)/sizeof(WCHAR), context -> h)) {
-      if ((string[0] == ':') && (lstrcmpiW (&string[1], paramStart) == 0)) return;
+      str = string;
+      while (isspaceW(*str)) str++;
+      if ((*str == ':') && (lstrcmpiW (++str, paramStart) == 0)) return;
     }
     WCMD_output (WCMD_LoadMessage(WCMD_NOTARGET));
   }
-- 
1.6.3.3


More information about the wine-patches mailing list