ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/init.C
(Generate patch)

Comparing rxvt-unicode/src/init.C (file contents):
Revision 1.215 by root, Mon Oct 8 15:36:13 2007 UTC vs.
Revision 1.217 by root, Tue Oct 9 13:36:10 2007 UTC

353 */ 353 */
354 for (r_argc = 0; r_argc < argc; r_argc++) 354 for (r_argc = 0; r_argc < argc; r_argc++)
355 if (!strcmp (argv[r_argc], "-e")) 355 if (!strcmp (argv[r_argc], "-e"))
356 break; 356 break;
357 357
358 if (r_argc == argc)
359 cmd_argv = NULL;
360 else if (!argv[r_argc + 1])
361 rxvt_fatal ("-e requires an argument\n");
362 else
363 {
364 cmd_argv = (const char **)rxvt_malloc (sizeof (char *) * (argc - r_argc));
365
366 for (i = 0; i < argc - r_argc - 1; i++)
367 cmd_argv[i] = (const char *)argv[i + r_argc + 1];
368
369 cmd_argv[i] = NULL;
370 }
371
358 r_argv = (const char **)rxvt_malloc (sizeof (char *) * (r_argc + 1)); 372 r_argv = (const char **)rxvt_malloc (sizeof (char *) * (r_argc + 1));
359 373
360 for (i = 0; i < r_argc; i++) 374 for (i = 0; i < r_argc; i++)
361 r_argv[i] = (const char *)argv[i]; 375 r_argv[i] = (const char *)argv[i];
362 376
363 r_argv[i] = NULL; 377 r_argv[i] = NULL;
364
365 if (r_argc == argc)
366 cmd_argv = NULL;
367 else
368 {
369 cmd_argv = (const char **)rxvt_malloc (sizeof (char *) * (argc - r_argc));
370
371 for (i = 0; i < argc - r_argc - 1; i++)
372 cmd_argv[i] = (const char *)argv[i + r_argc + 1];
373
374 cmd_argv[i] = NULL;
375 }
376 378
377 rs[Rs_name] = rxvt_basename (argv[0]); 379 rs[Rs_name] = rxvt_basename (argv[0]);
378 380
379 /* 381 /*
380 * Open display, get options/resources and create the window 382 * Open display, get options/resources and create the window
384 rs[Rs_display_name] = ":0"; 386 rs[Rs_display_name] = ":0";
385 387
386 get_options (r_argc, r_argv); 388 get_options (r_argc, r_argv);
387 389
388 if (!(display = displays.get (rs[Rs_display_name]))) 390 if (!(display = displays.get (rs[Rs_display_name])))
391 {
392 free (r_argv);
389 rxvt_fatal ("can't open display %s, aborting.\n", rs[Rs_display_name]); 393 rxvt_fatal ("can't open display %s, aborting.\n", rs[Rs_display_name]);
394 }
390 395
391 // using a local pointer decreases code size a lot 396 // using a local pointer decreases code size a lot
392 xa = display->xa; 397 xa = display->xa;
393 398
394 set (display); 399 set (display);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines