ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvt.C
Revision: 1.22
Committed: Tue Dec 6 11:29:52 2011 UTC (12 years, 5 months ago) by sf-exg
Content type: text/plain
Branch: MAIN
Changes since 1.21: +1 -3 lines
Log Message:
Cleanup handling of argv/env.

Move assignment and zero termination of envv in stringvec init () and
add zero termination of argv.

File Contents

# Content
1 /*----------------------------------------------------------------------*
2 * File: rxvt.C
3 *----------------------------------------------------------------------*
4 *
5 * All portions of code are copyright by their respective author/s.
6 * Copyright (c) 2003-2006 Marc Lehmann <schmorp@schmorp.de>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 *----------------------------------------------------------------------*/
22
23 #include "../config.h"
24 #include "rxvt.h"
25
26 #include <cstdlib>
27 #include <cstring>
28
29 int
30 main (int argc, const char *const *argv)
31 try
32 {
33 ptytty::init ();
34 rxvt_init ();
35
36 rxvt_term *t = new rxvt_term;
37
38 #if ENABLE_PERL
39 stringvec *args = new stringvec;
40 stringvec *envv = new stringvec;
41
42 for (int i = 0; i < argc; i++)
43 args->push_back (strdup (argv [i]));
44
45 for (char **var = environ; *var; var++)
46 envv->push_back (strdup (*var));
47
48 t->init (args, envv);
49 #else
50 t->init (argc, argv);
51 #endif
52
53 ev_run ();
54
55 return EXIT_SUCCESS;
56 }
57 catch (const class rxvt_failure_exception &e)
58 {
59 return EXIT_FAILURE;
60 }
61