Module: wine Branch: master Commit: a7c5906b626fd17de661dc8e12fab71e79c6e1ad URL: http://source.winehq.org/git/wine.git/?a=commit;h=a7c5906b626fd17de661dc8e12...
Author: Jason Edmeades us@edmeades.me.uk Date: Tue Feb 27 23:21:59 2007 +0000
cmd.exe: Fix parameter parsing returns.
Only return valid values for the location of the parameter if it is the one requested. Currently returns address when ANY quoted or bracketed parameter found.
---
programs/cmd/batch.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/programs/cmd/batch.c b/programs/cmd/batch.c index 5a854f7..bbc3f83 100644 --- a/programs/cmd/batch.c +++ b/programs/cmd/batch.c @@ -147,6 +147,7 @@ int i = 0; static char param[MAX_PATH]; char *p;
+ if (where != NULL) *where = NULL; p = param; while (TRUE) { switch (*s) { @@ -154,7 +155,7 @@ char *p; s++; break; case '"': - if (where != NULL) *where = s; + if (where != NULL && i==n) *where = s; s++; while ((*s != '\0') && (*s != '"')) { *p++ = *s++; @@ -169,7 +170,7 @@ char *p; p = param; break; case '(': - if (where != NULL) *where = s; + if (where != NULL && i==n) *where = s; s++; while ((*s != '\0') && (*s != ')')) { *p++ = *s++;