diff --git a/owl.c b/owl.c index acc3423..de1b0cb 100644 --- a/owl.c +++ b/owl.c @@ -232,7 +232,7 @@ int main(int argc, char **argv, char **env) /* Initialize perl */ owl_function_debugmsg("startup: processing config file"); owl_context_set_readconfig(owl_global_get_context(&g)); - perlerr=owl_perlconfig_initperl(configfile); + perlerr=owl_perlconfig_initperl(configfile, &argc, &argv, &env); if (perlerr) { endwin(); owl_function_error("Internal perl error: %s\n", perlerr); diff --git a/perlconfig.c b/perlconfig.c index 9cae1ac..544e19e 100644 --- a/perlconfig.c +++ b/perlconfig.c @@ -276,7 +276,7 @@ char * owl_perlconfig_message_call_method(owl_message *m, char *method, int argc } -char *owl_perlconfig_initperl(char * file) +char *owl_perlconfig_initperl(char * file, int *Pargc, char ***Pargv, char *** Penv) { int ret; PerlInterpreter *p; @@ -284,6 +284,7 @@ char *owl_perlconfig_initperl(char * file) char *args[4] = {"", "-e", "0;", NULL}; /* create and initialize interpreter */ + PERL_SYS_INIT3(Pargc, Pargv, Penv); p=perl_alloc(); owl_global_set_perlinterp(&g, (void*)p); perl_construct(p);