Mercurial > sdl-ios-xcode
comparison src/main/macosx/SDLMain.m @ 1572:3a8920cc822b
*** empty log message ***
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 21 Mar 2006 16:04:44 +0000 |
parents | 304d8dd6a989 |
children | 24247fe40188 |
comparison
equal
deleted
inserted
replaced
1571:0160eb7cccee | 1572:3a8920cc822b |
---|---|
250 | 250 |
251 if (gCalledAppMainline) /* app has started, ignore this document. */ | 251 if (gCalledAppMainline) /* app has started, ignore this document. */ |
252 return FALSE; | 252 return FALSE; |
253 | 253 |
254 const char *temparg = [filename UTF8String]; | 254 const char *temparg = [filename UTF8String]; |
255 char *arg = (char *) malloc(strlen(temparg) + 1); | 255 size_t arglen = SDL_strlen(temparg) + 1; |
256 char *arg = (char *) SDL_malloc(arglen); | |
256 if (arg == NULL) | 257 if (arg == NULL) |
257 return FALSE; | 258 return FALSE; |
258 | 259 |
259 char **newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2)); | 260 char **newargv = (char **) realloc(gArgv, sizeof (char *) * (gArgc + 2)); |
260 if (newargv == NULL) | 261 if (newargv == NULL) |
261 { | 262 { |
262 free(arg); | 263 SDL_free(arg); |
263 return FALSE; | 264 return FALSE; |
264 } | 265 } |
265 gArgv = newargv; | 266 gArgv = newargv; |
266 | 267 |
267 strcpy(arg, temparg); | 268 SDL_strlcpy(arg, temparg, arglen); |
268 gArgv[gArgc++] = arg; | 269 gArgv[gArgc++] = arg; |
269 gArgv[gArgc] = NULL; | 270 gArgv[gArgc] = NULL; |
270 return TRUE; | 271 return TRUE; |
271 } | 272 } |
272 | 273 |
344 int main (int argc, char **argv) | 345 int main (int argc, char **argv) |
345 { | 346 { |
346 /* Copy the arguments into a global variable */ | 347 /* Copy the arguments into a global variable */ |
347 /* This is passed if we are launched by double-clicking */ | 348 /* This is passed if we are launched by double-clicking */ |
348 if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) { | 349 if ( argc >= 2 && strncmp (argv[1], "-psn", 4) == 0 ) { |
349 gArgv = (char **) malloc(sizeof (char *) * 2); | 350 gArgv = (char **) SDL_malloc(sizeof (char *) * 2); |
350 gArgv[0] = argv[0]; | 351 gArgv[0] = argv[0]; |
351 gArgv[1] = NULL; | 352 gArgv[1] = NULL; |
352 gArgc = 1; | 353 gArgc = 1; |
353 gFinderLaunch = YES; | 354 gFinderLaunch = YES; |
354 } else { | 355 } else { |
355 int i; | 356 int i; |
356 gArgc = argc; | 357 gArgc = argc; |
357 gArgv = (char **) malloc(sizeof (char *) * (argc+1)); | 358 gArgv = (char **) SDL_malloc(sizeof (char *) * (argc+1)); |
358 for (i = 0; i <= argc; i++) | 359 for (i = 0; i <= argc; i++) |
359 gArgv[i] = argv[i]; | 360 gArgv[i] = argv[i]; |
360 gFinderLaunch = NO; | 361 gFinderLaunch = NO; |
361 } | 362 } |
362 | 363 |