From 73197eaefad818a9e67de6c2140dc13251c14d7a Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 16 May 2007 16:19:18 -0400 Subject: [PATCH] BUG: Shell escaping needs to write % as %% for VS IDE. --- Source/kwsys/System.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Source/kwsys/System.c b/Source/kwsys/System.c index 62807c8a81..41d6667ccd 100644 --- a/Source/kwsys/System.c +++ b/Source/kwsys/System.c @@ -287,6 +287,15 @@ static int kwsysSystem_Shell__GetArgumentSize(const char* in, ++size; } } + else if(*c == '%') + { + if(flags & kwsysSystem_Shell_Flag_VSIDE) + { + /* In a VS IDE a percent is written %% so we need one extra + characters. */ + size += 1; + } + } } /* Check whether the argument needs surrounding quotes. */ @@ -432,6 +441,20 @@ static char* kwsysSystem_Shell__GetArgument(const char* in, char* out, *out++ = '#'; } } + else if(*c == '%') + { + if(flags & kwsysSystem_Shell_Flag_VSIDE) + { + /* In a VS IDE a percent is written %%. */ + *out++ = '%'; + *out++ = '%'; + } + else + { + /* Otherwise a percent is written just %. */ + *out++ = '%'; + } + } else { /* Store this character. */