diff options
Diffstat (limited to 'Source/kwsys/System.c')
-rw-r--r-- | Source/kwsys/System.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/kwsys/System.c b/Source/kwsys/System.c index 62807c8..41d6667 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. */ |