+
+
+
+ vector<char*> args;
+ if (executablePath[0] != '"')
+ args.push_back((char*)executablePath);
+ else
+ args.push_back((char*)(executablePath)+1);
+ char * token = NULL;
+ do
+ {
+ token = strstr(args[args.size()-1], " ");
+ if (token == NULL)
+ break;
+
+ *token = '\0';
+ do
+ {
+ ++token;
+ if (*token == '"')
+ *token = '\0';
+ }
+ while (*token != '\0' && iswspace(*token));
+
+ if (*token != '\0' && !iswspace(*token))
+ {
+ args.push_back(token);
+ }
+ else
+ break;
+ }
+ while (token != NULL);
+
+ char ** arguments = NULL;
+ if (args.size() > 0)
+ {
+ arguments = new char*[args.size()+2];
+ for (unsigned int i=0; i < args.size(); ++i)
+ arguments[i] = args[i];
+ }