FW: [03/16] CMD.exe: Add support for %*

Ann & Jason Edmeades us at edmeades.me.uk
Thu Mar 29 08:45:22 CDT 2007



-----Original Message-----
From: Ann & Jason Edmeades [mailto:us at edmeades.me.uk] 
Sent: 20 February 2007 00:34
To: 'wine-patches at winehq.org'
Subject: [03/16] CMD.exe: Add support for %*


-------------- next part --------------
>From nobody Mon Sep 17 00:00:00 2001
From: Jason Edmeades <us at edmeades.me.uk>
Date: Thu Feb 15 22:17:07 2007 +0000
Subject: [PATCH] Support %* in a batch program

---

 programs/cmd/batch.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

b4d511ddc8397d00613217b15b1767e73dd51be9
diff --git a/programs/cmd/batch.c b/programs/cmd/batch.c
index ec27489..9dd365e 100755
--- a/programs/cmd/batch.c
+++ b/programs/cmd/batch.c
@@ -155,6 +155,14 @@ int i;
       strcpy (p, t);
       strcat (p, s);
       free (s);
+    } else if (*(p+1)=='*') {
+      char *startOfParms = NULL;
+      s = strdup (p+2);
+      t = WCMD_parameter (context -> command, 1, &startOfParms);
+      if (startOfParms != NULL) strcpy (p, startOfParms);
+      else *p = 0x00;
+      strcat (p, s);
+      free (s);
     } else {
       p++;
     }
@@ -245,7 +253,8 @@ char *p;
       case '\0':
         return param;
       default:
-        if (where != NULL) *where = s;
+        /* Only return where if it is for the right parameter */
+        if (where != NULL && i==n) *where = s; 
 	while ((*s != '\0') && (*s != ' ')) {
 	  *p++ = *s++;
 	}
-- 
1.3.0



More information about the wine-patches mailing list