From 5e10b3057dd40e1612ef41957e40d9c8999abc52 Mon Sep 17 00:00:00 2001 From: Rodrigo Kumpera Date: Fri, 9 Oct 2015 15:54:48 -0400 Subject: [Apple] Disable environment access on Apple platforms that are not OSX. The two known ways to access the environment variables are no longer allowed Apple. Until something blessed by them is found, we'll provide no way to list all the envvars of the current process. --- eglib/src/gspawn.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'eglib') diff --git a/eglib/src/gspawn.c b/eglib/src/gspawn.c index 4d0bf9e8eca..01639be101f 100644 --- a/eglib/src/gspawn.c +++ b/eglib/src/gspawn.c @@ -74,13 +74,18 @@ #define NO_INTR(var,cmd) do { (var) = (cmd); } while ((var) == -1 && errno == EINTR) #define CLOSE_PIPE(p) do { close (p [0]); close (p [1]); } while (0) -#if defined(__APPLE__) && !defined (__arm__) && !defined (__aarch64__) +#if defined(__APPLE__) +#if defined (TARGET_OSX) /* Apple defines this in crt_externs.h but doesn't provide that header for * arm-apple-darwin9. We'll manually define the symbol on Apple as it does * in fact exist on all implementations (so far) */ -gchar ***_NSGetEnviron(); +gchar ***_NSGetEnviron(void); #define environ (*_NSGetEnviron()) +#else +static char *mono_environ[1] = { NULL }; +#define environ mono_environ +#endif /* defined (TARGET_OSX) */ #elif defined(_MSC_VER) /* MS defines this in stdlib.h */ #else -- cgit v1.2.3