30 lines
744 B
Diff
Executable File
30 lines
744 B
Diff
Executable File
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 {
|