Add options to disable the io and os modules

This commit is contained in:
Matt Messier 2023-01-12 08:16:47 -05:00
parent d0e88930dd
commit 7772779198
6 changed files with 20 additions and 0 deletions

View File

@ -77,8 +77,10 @@ LUALIB_API const char *(luaL_findtable) (lua_State *L, int idx,
const char *fname, int szhint); const char *fname, int szhint);
/* From Lua 5.2. */ /* From Lua 5.2. */
#if !defined(LUAJIT_DISABLE_MODULE_IO) || !defined(LUAJIT_DISABLE_MODULE_OS)
LUALIB_API int luaL_fileresult(lua_State *L, int stat, const char *fname); LUALIB_API int luaL_fileresult(lua_State *L, int stat, const char *fname);
LUALIB_API int luaL_execresult(lua_State *L, int stat); LUALIB_API int luaL_execresult(lua_State *L, int stat);
#endif
LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename, LUALIB_API int (luaL_loadfilex) (lua_State *L, const char *filename,
const char *mode); const char *mode);
LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz, LUALIB_API int (luaL_loadbufferx) (lua_State *L, const char *buff, size_t sz,

View File

@ -26,6 +26,8 @@
#include <sys/wait.h> #include <sys/wait.h>
#endif #endif
#if !defined(LUAJIT_DISABLE_MODULE_IO) || !defined(LUAJIT_DISABLE_MODULE_OS)
/* -- I/O error handling -------------------------------------------------- */ /* -- I/O error handling -------------------------------------------------- */
LUALIB_API int luaL_fileresult(lua_State *L, int stat, const char *fname) LUALIB_API int luaL_fileresult(lua_State *L, int stat, const char *fname)
@ -76,6 +78,8 @@ LUALIB_API int luaL_execresult(lua_State *L, int stat)
return luaL_fileresult(L, 0, NULL); return luaL_fileresult(L, 0, NULL);
} }
#endif
/* -- Module registration ------------------------------------------------- */ /* -- Module registration ------------------------------------------------- */
LUALIB_API const char *luaL_findtable(lua_State *L, int idx, LUALIB_API const char *luaL_findtable(lua_State *L, int idx,

View File

@ -19,8 +19,12 @@ static const luaL_Reg lj_lib_load[] = {
{ "", luaopen_base }, { "", luaopen_base },
{ LUA_LOADLIBNAME, luaopen_package }, { LUA_LOADLIBNAME, luaopen_package },
{ LUA_TABLIBNAME, luaopen_table }, { LUA_TABLIBNAME, luaopen_table },
#ifndef LUAJIT_DISABLE_MODULE_IO
{ LUA_IOLIBNAME, luaopen_io }, { LUA_IOLIBNAME, luaopen_io },
#endif
#ifndef LUAJIT_DISABLE_MODULE_OS
{ LUA_OSLIBNAME, luaopen_os }, { LUA_OSLIBNAME, luaopen_os },
#endif
{ LUA_STRLIBNAME, luaopen_string }, { LUA_STRLIBNAME, luaopen_string },
{ LUA_MATHLIBNAME, luaopen_math }, { LUA_MATHLIBNAME, luaopen_math },
{ LUA_DBLIBNAME, luaopen_debug }, { LUA_DBLIBNAME, luaopen_debug },

View File

@ -16,6 +16,8 @@
#include "lauxlib.h" #include "lauxlib.h"
#include "lualib.h" #include "lualib.h"
#ifndef LUAJIT_DISABLE_MODULE_IO
#include "lj_obj.h" #include "lj_obj.h"
#include "lj_gc.h" #include "lj_gc.h"
#include "lj_err.h" #include "lj_err.h"
@ -549,3 +551,4 @@ LUALIB_API int luaopen_io(lua_State *L)
return 1; return 1;
} }
#endif

View File

@ -16,6 +16,8 @@
#include "lauxlib.h" #include "lauxlib.h"
#include "lualib.h" #include "lualib.h"
#ifndef LUAJIT_DISABLE_MODULE_OS
#include "lj_obj.h" #include "lj_obj.h"
#include "lj_gc.h" #include "lj_gc.h"
#include "lj_err.h" #include "lj_err.h"
@ -290,3 +292,4 @@ LUALIB_API int luaopen_os(lua_State *L)
return 1; return 1;
} }
#endif

View File

@ -26,8 +26,12 @@ LUALIB_API int luaopen_base(lua_State *L);
LUALIB_API int luaopen_math(lua_State *L); LUALIB_API int luaopen_math(lua_State *L);
LUALIB_API int luaopen_string(lua_State *L); LUALIB_API int luaopen_string(lua_State *L);
LUALIB_API int luaopen_table(lua_State *L); LUALIB_API int luaopen_table(lua_State *L);
#ifndef LUAJIT_DISABLE_MODULE_IO
LUALIB_API int luaopen_io(lua_State *L); LUALIB_API int luaopen_io(lua_State *L);
#endif
#ifndef LUAJIT_DISABLE_MODULE_OS
LUALIB_API int luaopen_os(lua_State *L); LUALIB_API int luaopen_os(lua_State *L);
#endif
LUALIB_API int luaopen_package(lua_State *L); LUALIB_API int luaopen_package(lua_State *L);
LUALIB_API int luaopen_debug(lua_State *L); LUALIB_API int luaopen_debug(lua_State *L);
LUALIB_API int luaopen_bit(lua_State *L); LUALIB_API int luaopen_bit(lua_State *L);