|
@@ -422,17 +422,29 @@ int main (int argc, char **argv)
|
|
if (arg == NULL)
|
|
if (arg == NULL)
|
|
return FALSE;
|
|
return FALSE;
|
|
|
|
|
|
- newargv = (char **)realloc(gArgv, sizeof(char *) * (gArgc + 2));
|
|
|
|
|
|
+ const char *fusedstr = "--fused";
|
|
|
|
+ size_t fusedarglen = SDL_strlen(fusedstr) + 1;
|
|
|
|
+
|
|
|
|
+ char *fusedarg = (char *) SDL_malloc(fusedarglen);
|
|
|
|
+ if (fusedarg == NULL)
|
|
|
|
+ {
|
|
|
|
+ SDL_free(arg);
|
|
|
|
+ return FALSE;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ newargv = (char **) realloc(gArgv, sizeof(char *) * (gArgc + 3));
|
|
if (newargv == NULL)
|
|
if (newargv == NULL)
|
|
{
|
|
{
|
|
SDL_free(arg);
|
|
SDL_free(arg);
|
|
|
|
+ SDL_free(fusedarg);
|
|
return FALSE;
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
|
|
gArgv = newargv;
|
|
gArgv = newargv;
|
|
SDL_strlcpy(arg, temparg, arglen);
|
|
SDL_strlcpy(arg, temparg, arglen);
|
|
|
|
+ SDL_strlcpy(fusedarg, fusedstr, fusedarglen);
|
|
gArgv[gArgc++] = arg;
|
|
gArgv[gArgc++] = arg;
|
|
- gArgv[gArgc++] = "--fused"; // run in pseudo-fused mode
|
|
|
|
|
|
+ gArgv[gArgc++] = fusedarg; // run in pseudo-fused mode
|
|
gArgv[gArgc] = NULL;
|
|
gArgv[gArgc] = NULL;
|
|
}
|
|
}
|
|
|
|
|