|
|
@@ -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. */
|