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