aboutsummaryrefslogtreecommitdiff
path: root/ports/lua/fix-ios-system.patch
blob: 3e98ce228ac7d2e5d85dfeb3023620f616cc18c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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 {