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.214 by ayin, Fri Sep 14 17:10:34 2007 UTC vs.
Revision 1.216 by ayin, Tue Oct 9 13:34:46 2007 UTC

319 if ((i = open ("/dev/null", O_RDONLY)) < 0) 319 if ((i = open ("/dev/null", O_RDONLY)) < 0)
320 { 320 {
321 /* TODO: BOO HISS */ 321 /* TODO: BOO HISS */
322 dup2 (STDERR_FILENO, STDIN_FILENO); 322 dup2 (STDERR_FILENO, STDIN_FILENO);
323 } 323 }
324 else if (i > STDIN_FILENO) 324 else if (i != STDIN_FILENO)
325 { 325 {
326 dup2 (i, STDIN_FILENO); 326 dup2 (i, STDIN_FILENO);
327 close (i); 327 close (i);
328 } 328 }
329 329
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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines