(retracted by #12485)
Jarkko Hietaniemi [Wed, 17 Oct 2001 21:58:40 +0000 (21:58 +0000)]
Strict ANSI doesn't like the third argument of main()
so enable ignoring it if using ultra picky compiler.

p4raw-id: //depot/perl@12484

miniperlmain.c

index f92ea3e..34faed6 100644 (file)
@@ -25,8 +25,18 @@ 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, char **env)
+main(int argc, char **argv
+#ifndef STRICT_ANSI_DISLIKES_ENVP
+     , char **envp
+#endif
+     )
 {
     int exitstatus;
 
@@ -46,7 +56,8 @@ main(int argc, char **argv, char **env)
     /* noop unless Configure is given -Accflags=-DPERL_GPROF_CONTROL */
     PERL_GPROF_MONCONTROL(0);
 
-    PERL_SYS_INIT3(&argc,&argv,&env);
+    /* The default PERL_SYS_INIT3 ignores envp but e.g. OS/2 uses it. */
+    PERL_SYS_INIT3(&argc,&argv,&envp);
 
 #if defined(USE_5005THREADS) || defined(USE_ITHREADS)
     /* XXX Ideally, this should really be happening in perl_alloc() or