iliaa Tue May 18 09:43:25 2004 EDT Modified files: /php-src/ext/standard exec.c Log: Fixed command line escaping routines for win32. http://cvs.php.net/diff.php/php-src/ext/standard/exec.c?r1=1.109&r2=1.110&ty=u Index: php-src/ext/standard/exec.c diff -u php-src/ext/standard/exec.c:1.109 php-src/ext/standard/exec.c:1.110 --- php-src/ext/standard/exec.c:1.109 Wed Jan 21 11:57:13 2004 +++ php-src/ext/standard/exec.c Tue May 18 09:43:24 2004 @@ -16,7 +16,7 @@ | Ilia Alshanetsky <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: exec.c,v 1.109 2004/01/21 16:57:13 iliaa Exp $ */ +/* $Id: exec.c,v 1.110 2004/05/18 13:43:24 iliaa Exp $ */ #include <stdio.h> #include "php.h" @@ -269,6 +269,7 @@ switch (str[x]) { case '"': case '\'': +#ifndef PHP_WIN32 if (!p && (p = memchr(str + x + 1, str[x], l - x - 1))) { /* noop */ } else if (p && *p == str[x]) { @@ -278,6 +279,7 @@ } cmd[y++] = str[x]; break; +#endif case '#': /* This is character-set independent */ case '&': case ';': @@ -299,6 +301,12 @@ case '\\': case '\x0A': /* excluding these two */ case '\xFF': +#ifdef PHP_WIN32 + /* since Windows does not allow us to escape these chars, just remove them */ + case '%': + cmd[y++] = ' '; + break; +#endif cmd[y++] = '\\'; /* fall-through */ default: @@ -332,7 +340,9 @@ switch (str[x]) { #ifdef PHP_WIN32 case '"': - cmd[y++] = '\\'; + case '%': + cmd[y++] = ' '; + break; #else case '\'': cmd[y++] = '\'';
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php