From f9d687cb65017fcee928c77589775e19a911da51 Mon Sep 17 00:00:00 2001 From: Alex Szpakowski Date: Fri, 15 Mar 2013 19:40:58 -0300 Subject: [PATCH] Fixed some bugs in SDLmain --- platform/macosx/SDLMain.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/platform/macosx/SDLMain.m b/platform/macosx/SDLMain.m index 229e6879a..b696b9673 100644 --- a/platform/macosx/SDLMain.m +++ b/platform/macosx/SDLMain.m @@ -422,17 +422,29 @@ int main (int argc, char **argv) if (arg == NULL) return FALSE; - newargv = (char **)realloc(gArgv, sizeof(char *) * (gArgc + 2)); - if (newargv == NULL) + 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) + { + SDL_free(arg); + SDL_free(fusedarg); + return FALSE; + } + gArgv = newargv; SDL_strlcpy(arg, temparg, arglen); + SDL_strlcpy(fusedarg, fusedstr, fusedarglen); gArgv[gArgc++] = arg; - gArgv[gArgc++] = "--fused"; // run in pseudo-fused mode + gArgv[gArgc++] = fusedarg; // run in pseudo-fused mode gArgv[gArgc] = NULL; }