diff options
Diffstat (limited to 'ports/lua/fix-ios-system.patch')
| -rw-r--r-- | ports/lua/fix-ios-system.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ports/lua/fix-ios-system.patch b/ports/lua/fix-ios-system.patch new file mode 100644 index 000000000..3e98ce228 --- /dev/null +++ b/ports/lua/fix-ios-system.patch @@ -0,0 +1,29 @@ +diff --git a/src/loslib.c b/src/loslib.c +index e65e188..3595601 100644 +--- a/src/loslib.c ++++ b/src/loslib.c +@@ -3,7 +3,9 @@ + ** Standard Operating System library + ** See Copyright Notice in lua.h + */ +- ++#if defined(__APPLE__) ++#include <TargetConditionals.h> ++#endif + #define loslib_c + #define LUA_LIB + +@@ -143,7 +145,12 @@ static int os_execute (lua_State *L) { + const char *cmd = luaL_optstring(L, 1, NULL); + int stat; + errno = 0; +- stat = system(cmd); ++#if defined(__APPLE__) && !TARGET_OS_OSX ++ // system() is __IOS_PROHIBITED, __WATCHOS_PROHIBITED, and __TVOS_PROHIBITED. ++ stat = 127; // error: shell execution failed ++#else ++ stat = system(cmd); ++#endif + if (cmd != NULL) + return luaL_execresult(L, stat); + else { |
