1 /*
2 ** $Id$
3 ** Initialization of libraries for lua.c
4 ** See Copyright Notice in lua.h
5 */
6 
7 
8 #define linit_c
9 #define LUA_LIB
10 
11 #include "lua.h"
12 
13 #include "lualib.h"
14 #include "lauxlib.h"
15 
16 
17 static const luaL_Reg lualibs[] = {
18   {"", luaopen_base},
19   {LUA_LOADLIBNAME, luaopen_package},
20   {LUA_TABLIBNAME, luaopen_table},
21   {LUA_IOLIBNAME, luaopen_io},
22   {LUA_OSLIBNAME, luaopen_os},
23   {LUA_STRLIBNAME, luaopen_string},
24   {LUA_MATHLIBNAME, luaopen_math},
25   {LUA_DBLIBNAME, luaopen_debug},
26   {NULL, NULL}
27 };
28 
29 
luaL_openlibs(lua_State * L)30 LUALIB_API void luaL_openlibs (lua_State *L) {
31   const luaL_Reg *lib = lualibs;
32   for (; lib->func; lib++) {
33     lua_pushcfunction(L, lib->func);
34     lua_pushstring(L, lib->name);
35     lua_call(L, 1, 0);
36   }
37 }
38