summaryrefslogtreecommitdiffstats
path: root/Source/kwsys/System.c
diff options
context:
space:
mode:
Diffstat (limited to 'Source/kwsys/System.c')
-rw-r--r--Source/kwsys/System.c23
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. */