Introduce NO_ENVIRON_ARRAY (and USE_ENVIRON_ARRAY) defines
Jarkko Hietaniemi [Tue, 3 Oct 2000 00:57:08 +0000 (00:57 +0000)]
as suggested by Olaf Flebbe and Nicholas Clark.

p4raw-id: //depot/perl@7126

epoc/epocish.h
perl.h
unixish.h
util.c
vms/vmsish.h

index 31da472..551d1f5 100644 (file)
@@ -141,3 +141,4 @@ double epoc_atof( const char *ptr);
 
 #define init_os_extras Perl_init_os_extras
 
+#define NO_ENVIRON_ARRAY
diff --git a/perl.h b/perl.h
index 8f19950..6873da2 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -1628,7 +1628,11 @@ typedef struct ptr_tbl PTR_TBL_t;
 #     endif
 #   endif
 # endif
-#endif         
+#endif
+
+#ifndef NO_ENVIRON_ARRAY
+#  define USE_ENVIRON_ARRAY
+#endif
 
 #ifndef PERL_SYS_INIT3
 #  define PERL_SYS_INIT3(argvp,argcp,envp) PERL_SYS_INIT(argvp,argcp)
@@ -2279,7 +2283,7 @@ EXT char *** environ_pointer;
 #  endif
 #else
    /* VMS and some other platforms don't use the environ array */
-#  if !defined(VMS)
+#  ifdef USE_ENVIRON_ARRAY
 #    if !defined(DONT_DECLARE_STD) || \
         (defined(__svr4__) && defined(__GNUC__) && defined(sun)) || \
         defined(__sgi) || \
index 7b8ef16..5815a19 100644 (file)
--- a/unixish.h
+++ b/unixish.h
 #define BIT_BUCKET "/dev/null"
 
 #define dXSUB_SYS
+
+#define USE_ENVIRON_ARRAY
+
diff --git a/util.c b/util.c
index 2548f50..0c26f83 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1934,9 +1934,9 @@ Perl_vwarner(pTHX_ U32  err, const char* pat, va_list* args)
     }
 }
 
-#if !defined( VMS) && !defined(EPOC)  
-       /* VMS' and EPOC's my_setenv() is in VMS.c */
-#if !defined(WIN32) && !defined(__CYGWIN__) && 
+#ifdef USE_ENVIRON_ARRAY
+       /* VMS' and EPOC's my_setenv() is in vms.c and epoc.c */
+#if !defined(WIN32) && !defined(__CYGWIN__)
 void
 Perl_my_setenv(pTHX_ char *nam, char *val)
 {
index 104eabc..49e53e7 100644 (file)
@@ -777,4 +777,6 @@ typedef char __VMS_SEPYTOTORP__;
 #  undef fileno 
 #endif 
 
+#define NO_ENVIRON_ARRAY
+
 #endif  /* __vmsish_h_included */