X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=miniperlmain.c;h=252a48d8e9573c979b873f8adcffbd1fca0285d5;hb=76ca89edebb126a10dcdc3521c9db0680eba1b5c;hp=34faed695cc8b1037b22b7de5a98e990c325ebde;hpb=f4a52aff9b1e11a878305cd5b36d86036be0dc2b;p=p5sagit%2Fp5-mst-13.2.git diff --git a/miniperlmain.c b/miniperlmain.c index 34faed6..252a48d 100644 --- a/miniperlmain.c +++ b/miniperlmain.c @@ -1,10 +1,29 @@ +/* miniperlmain.c + * + * Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003, + * 2004, 2005 by Larry Wall and others + * + * You may distribute under the terms of either the GNU General Public + * License or the Artistic License, as specified in the README file. + * + */ + /* * "The Road goes ever on and on, down from the door where it began." */ +/* This file contains the main() function for the perl interpreter. + * Note that miniperlmain.c contains main() for the 'miniperl' binary, + * while perlmain.c contains main() for the 'perl' binary. + * + * Miniperl is like perl except that it does not support dynamic loading, + * and in fact is used to build the dynamic modules needed for the 'real' + * perl executable. + */ + #ifdef OEMVS #ifdef MYMALLOC -/* sbrk is limited to first heap segement so make it big */ +/* sbrk is limited to first heap segment so make it big */ #pragma runopts(HEAP(8M,500K,ANYWHERE,KEEP,8K,4K) STACK(,,ANY,) ALL31(ON)) #else #pragma runopts(HEAP(2M,500K,ANYWHERE,KEEP,8K,4K) STACK(,,ANY,) ALL31(ON)) @@ -25,20 +44,14 @@ static PerlInterpreter *my_perl; long _stksize = 64 * 1024; #endif -/* If the compiler is in such a strict mood that it doesn't - * even like the third argument of main(). */ -#if (defined(__DECC) && defined(__STDC__) && __STDC__ == 1) -# define STRICT_ANSI_DISLIKES_ENVP -#endif - int -main(int argc, char **argv -#ifndef STRICT_ANSI_DISLIKES_ENVP - , char **envp -#endif - ) +main(int argc, char **argv, char **env) { int exitstatus; + (void)env; +#ifndef PERL_USE_SAFE_PUTENV + PL_use_safe_putenv = 0; +#endif /* PERL_USE_SAFE_PUTENV */ #ifdef PERL_GLOBAL_STRUCT #define PERLVAR(var,type) /**/ @@ -56,10 +69,9 @@ main(int argc, char **argv /* noop unless Configure is given -Accflags=-DPERL_GPROF_CONTROL */ PERL_GPROF_MONCONTROL(0); - /* The default PERL_SYS_INIT3 ignores envp but e.g. OS/2 uses it. */ - PERL_SYS_INIT3(&argc,&argv,&envp); + PERL_SYS_INIT3(&argc,&argv,&env); -#if defined(USE_5005THREADS) || defined(USE_ITHREADS) +#if defined(USE_ITHREADS) /* XXX Ideally, this should really be happening in perl_alloc() or * perl_construct() to keep libperl.a transparently fork()-safe. * It is currently done here only because Apache/mod_perl have