char* str;
int length;
COMMAND_LINE_ARGUMENT_A* arg;
-
+ COMMAND_LINE_ARGUMENT_A largs[ARRAYSIZE(shadow_args)];
+ memcpy(largs, shadow_args, sizeof(shadow_args));
if (argc < 1)
return -1;
WLog_INFO(TAG, " /option:<value> (specifies option with value)");
WLog_INFO(TAG, " +toggle -toggle (enables or disables toggle, where '/' is a synonym of '+')");
WLog_INFO(TAG, "");
- arg = shadow_args;
+ arg = largs;
do
{
DWORD flags;
COMMAND_LINE_ARGUMENT_A* arg;
rdpSettings* settings = server->settings;
+ COMMAND_LINE_ARGUMENT_A largs[ARRAYSIZE(shadow_args)];
+ memcpy(largs, shadow_args, sizeof(shadow_args));
if (argc < 2)
return 1;
- CommandLineClearArgumentsA(shadow_args);
+ CommandLineClearArgumentsA(largs);
flags = COMMAND_LINE_SEPARATOR_COLON;
flags |= COMMAND_LINE_SIGIL_SLASH | COMMAND_LINE_SIGIL_PLUS_MINUS;
- status = CommandLineParseArgumentsA(argc, argv, shadow_args, flags, server, NULL,
+ status = CommandLineParseArgumentsA(argc, argv, largs, flags, server, NULL,
NULL);
if (status < 0)
return status;
- arg = shadow_args;
+ arg = largs;
errno = 0;
do
}
while ((arg = CommandLineFindNextArgumentA(arg)) != NULL);
- arg = CommandLineFindArgumentA(shadow_args, "monitors");
+ arg = CommandLineFindArgumentA(largs, "monitors");
if (arg && (arg->Flags & COMMAND_LINE_ARGUMENT_PRESENT))
{