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 {
|