diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-05-01 10:37:11 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2009-05-01 10:37:11 -0300 |
| commit | 71c2eeff987d8e96cf1aaf98f3512c686eb1bd9c (patch) | |
| tree | fbb1a626955b8c6282188438ad3bab50e0cdab81 | |
| parent | d7bc346d7a9da097e517fa987ed6cc4f91874111 (diff) | |
| download | lua-71c2eeff987d8e96cf1aaf98f3512c686eb1bd9c.tar.gz lua-71c2eeff987d8e96cf1aaf98f3512c686eb1bd9c.tar.bz2 lua-71c2eeff987d8e96cf1aaf98f3512c686eb1bd9c.zip | |
comments
| -rw-r--r-- | linit.c | 8 |
1 files changed, 5 insertions, 3 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: linit.c,v 1.15 2007/06/22 16:59:11 roberto Exp roberto $ | 2 | ** $Id: linit.c,v 1.16 2008/01/02 16:16:28 roberto Exp roberto $ |
| 3 | ** Initialization of libraries for lua.c | 3 | ** Initialization of libraries for lua.c |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -15,7 +15,7 @@ | |||
| 15 | 15 | ||
| 16 | 16 | ||
| 17 | /* | 17 | /* |
| 18 | ** these libs are preloaded in Lua and are readily available to any program | 18 | ** these libs are loaded by lua.c and are readily available to any program |
| 19 | */ | 19 | */ |
| 20 | static const luaL_Reg lualibs[] = { | 20 | static const luaL_Reg lualibs[] = { |
| 21 | {"_G", luaopen_base}, | 21 | {"_G", luaopen_base}, |
| @@ -30,7 +30,7 @@ static const luaL_Reg lualibs[] = { | |||
| 30 | 30 | ||
| 31 | 31 | ||
| 32 | /* | 32 | /* |
| 33 | ** these libs must be required before used | 33 | ** these libs are preloaded and must be required before used |
| 34 | */ | 34 | */ |
| 35 | static const luaL_Reg luareqlibs[] = { | 35 | static const luaL_Reg luareqlibs[] = { |
| 36 | {LUA_DBLIBNAME, luaopen_debug}, | 36 | {LUA_DBLIBNAME, luaopen_debug}, |
| @@ -39,12 +39,14 @@ static const luaL_Reg luareqlibs[] = { | |||
| 39 | 39 | ||
| 40 | 40 | ||
| 41 | LUALIB_API void luaL_openlibs (lua_State *L) { | 41 | LUALIB_API void luaL_openlibs (lua_State *L) { |
| 42 | /* call open functions from 'lualibs' */ | ||
| 42 | const luaL_Reg *lib = lualibs; | 43 | const luaL_Reg *lib = lualibs; |
| 43 | for (; lib->func; lib++) { | 44 | for (; lib->func; lib++) { |
| 44 | lua_pushcfunction(L, lib->func); | 45 | lua_pushcfunction(L, lib->func); |
| 45 | lua_pushstring(L, lib->name); | 46 | lua_pushstring(L, lib->name); |
| 46 | lua_call(L, 1, 0); | 47 | lua_call(L, 1, 0); |
| 47 | } | 48 | } |
| 49 | /* add open functions from 'luareqlibs' into 'package.preload' table */ | ||
| 48 | lib = luareqlibs; | 50 | lib = luareqlibs; |
| 49 | luaL_findtable(L, LUA_GLOBALSINDEX, "package.preload", 0); | 51 | luaL_findtable(L, LUA_GLOBALSINDEX, "package.preload", 0); |
| 50 | for (; lib->func; lib++) { | 52 | for (; lib->func; lib++) { |
