summaryrefslogtreecommitdiff
path: root/glib/gspawn.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/gspawn.c')
-rw-r--r--glib/gspawn.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/glib/gspawn.c b/glib/gspawn.c
index 4fe60a584..38b84337e 100644
--- a/glib/gspawn.c
+++ b/glib/gspawn.c
@@ -32,6 +32,10 @@
#include <dirent.h>
#include <spawn.h>
+#ifdef HAVE_CRT_EXTERNS_H
+#include <crt_externs.h> /* for _NSGetEnviron */
+#endif
+
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif /* HAVE_SYS_SELECT_H */
@@ -71,6 +75,12 @@
#endif /* __GLIBC__ */
#endif /* HAVE_POSIX_SPAWN */
+#ifdef HAVE__NSGETENVIRON
+#define environ (*_NSGetEnviron())
+#else
+extern char **environ;
+#endif
+
/**
* SECTION:spawn
* @Short_description: process launching