diff options
author | SmallJoker <mk939@ymail.com> | 2020-05-22 14:19:07 +0200 |
---|---|---|
committer | SmallJoker <mk939@ymail.com> | 2020-05-22 14:24:55 +0200 |
commit | 7ab0c0662a95eb504665c940f92c2fde895929be (patch) | |
tree | c750e02fdf6cf6a8f77429128bce393f5bb1d90f /src/porting.cpp | |
parent | 1357ea1da25bf01acaf95d5f5419d4f83a84ed61 (diff) | |
download | minetest-7ab0c0662a95eb504665c940f92c2fde895929be.tar.gz minetest-7ab0c0662a95eb504665c940f92c2fde895929be.tar.bz2 minetest-7ab0c0662a95eb504665c940f92c2fde895929be.zip |
MacOS: Fix environ not being found
Diffstat (limited to 'src/porting.cpp')
-rw-r--r-- | src/porting.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/porting.cpp b/src/porting.cpp index ef1640467..29af62f7d 100644 --- a/src/porting.cpp +++ b/src/porting.cpp @@ -49,6 +49,11 @@ with this program; if not, write to the Free Software Foundation, Inc., #if defined(__ANDROID__) #include "porting_android.h" #endif +#if defined(__APPLE__) + // For _NSGetEnviron() + // Related: https://gitlab.haskell.org/ghc/ghc/issues/2458 + #include <crt_externs.h> +#endif #include "config.h" #include "debug.h" @@ -718,7 +723,8 @@ bool openURL(const std::string &url) return true; #elif defined(__APPLE__) const char *argv[] = {"open", url.c_str(), NULL}; - return posix_spawnp(NULL, "open", NULL, NULL, (char**)argv, environ) == 0; + return posix_spawnp(NULL, "open", NULL, NULL, (char**)argv, + (*_NSGetEnviron())) == 0; #else const char *argv[] = {"xdg-open", url.c_str(), NULL}; return posix_spawnp(NULL, "xdg-open", NULL, NULL, (char**)argv, environ) == 0; |