… | |
… | |
582 | if (r_argc == argc) |
582 | if (r_argc == argc) |
583 | cmd_argv = NULL; |
583 | cmd_argv = NULL; |
584 | else if (!argv[r_argc + 1]) |
584 | else if (!argv[r_argc + 1]) |
585 | rxvt_fatal ("option '-e' requires an argument, aborting.\n"); |
585 | rxvt_fatal ("option '-e' requires an argument, aborting.\n"); |
586 | else |
586 | else |
587 | { |
|
|
588 | cmd_argv = (const char **)rxvt_malloc (sizeof (char *) * (argc - r_argc)); |
|
|
589 | |
|
|
590 | for (i = 0; i < argc - r_argc - 1; i++) |
|
|
591 | cmd_argv[i] = (const char *)argv[i + r_argc + 1]; |
587 | cmd_argv = (const char **)argv + r_argc + 1; |
592 | |
|
|
593 | cmd_argv[i] = NULL; |
|
|
594 | } |
|
|
595 | |
588 | |
596 | rs[Rs_name] = rxvt_basename (argv[0]); |
589 | rs[Rs_name] = rxvt_basename (argv[0]); |
597 | |
590 | |
598 | /* |
591 | /* |
599 | * Open display, get options/resources and create the window |
592 | * Open display, get options/resources and create the window |
… | |
… | |
848 | |
841 | |
849 | set_colorfgbg (); |
842 | set_colorfgbg (); |
850 | |
843 | |
851 | init_command (cmd_argv); |
844 | init_command (cmd_argv); |
852 | |
845 | |
853 | free (cmd_argv); |
|
|
854 | |
|
|
855 | if (pty->pty >= 0) |
846 | if (pty->pty >= 0) |
856 | pty_ev.start (pty->pty, ev::READ); |
847 | pty_ev.start (pty->pty, ev::READ); |
857 | |
848 | |
858 | HOOK_INVOKE ((this, HOOK_START, DT_END)); |
849 | HOOK_INVOKE ((this, HOOK_START, DT_END)); |
859 | |
850 | |