--- rxvt-unicode/src/rxvtd.C 2010/11/19 00:10:18 1.53 +++ rxvt-unicode/src/rxvtd.C 2012/06/12 10:45:53 1.60 @@ -3,7 +3,7 @@ *----------------------------------------------------------------------* * * All portions of code are copyright by their respective author/s. - * Copyright (c) 2003-2007 Marc Lehmann + * Copyright (c) 2003-2007 Marc Lehmann * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -21,10 +21,10 @@ *----------------------------------------------------------------------*/ #include "../config.h" -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -41,7 +41,7 @@ # include #endif -#include +#include #include "rxvt.h" #include "rxvtdaemon.h" @@ -102,7 +102,7 @@ sa.sun_family = AF_UNIX; strcpy (sa.sun_path, sockname); - unlink (rxvt_connection::unix_sockname ()); + unlink (sockname); mode_t omask = umask (0077); @@ -188,8 +188,6 @@ return err ("protocol error: unexpected NEW token.\n"); } - envv->push_back (0); - { rxvt_term *term = new rxvt_term; @@ -225,13 +223,16 @@ } int -main (int argc, const char *const *argv) +main (int argc, char *argv[]) { ptytty::init (); - int opt_fork = 0, opt_opendisplay = 0, opt_quiet = 0; + static char opt_fork, opt_opendisplay, opt_quiet; +#if ENABLE_PERL + static char *opt_eval; +#endif #if ENABLE_MLOCK - int opt_lock = 0; + static char opt_lock; #endif for (int i = 1; i < argc; i++) @@ -246,6 +247,10 @@ else if (!strcmp (argv [i], "-m") || !strcmp (argv [i], "--mlock")) opt_lock = 1; #endif +#if ENABLE_PERL + else if (!strcmp (argv [i], "-e") || !strcmp (argv [i], "--eval")) + opt_eval = argv [++i]; +#endif else { rxvt_log ("%s: unknown option '%s', aborting.\n", argv [0], argv [i]); @@ -255,6 +260,14 @@ rxvt_init (); +#if ENABLE_PERL + if (opt_eval) + { + rxvt_perl.init (); + rxvt_perl.eval (opt_eval); + } +#endif + // optionally open display and never release it. if (opt_opendisplay) if (const char *dpy = getenv ("DISPLAY"))