#include "lprefix.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
Go to the source code of this file.
Macros | |
#define | loadlib_c |
#define | LUA_LIB |
#define | LUA_IGMARK "-" |
#define | LUA_CSUBSEP LUA_DIRSEP |
#define | LUA_LSUBSEP LUA_DIRSEP |
#define | LUA_POF "luaopen_" |
#define | LUA_OFSEP "_" |
#define | LIB_FAIL "open" |
#define | setprogdir(L) ((void)0) |
#define | LIB_FAIL "absent" |
#define | DLMSG "dynamic libraries not enabled; check your Lua installation" |
#define | LUA_PATH_VAR "LUA_PATH" |
#define | LUA_CPATH_VAR "LUA_CPATH" |
#define | AUXMARK "\1" /* auxiliary mark */ |
#define | ERRLIB 1 |
#define | ERRFUNC 2 |
Functions | |
static void | lsys_unloadlib (void *lib) |
static void * | lsys_load (lua_State *L, const char *path, int seeglb) |
static lua_CFunction | lsys_sym (lua_State *L, void *lib, const char *sym) |
static int | noenv (lua_State *L) |
static void | setpath (lua_State *L, const char *fieldname, const char *envname, const char *dft) |
static void * | checkclib (lua_State *L, const char *path) |
static void | addtoclib (lua_State *L, const char *path, void *plib) |
static int | gctm (lua_State *L) |
static int | lookforfunc (lua_State *L, const char *path, const char *sym) |
static int | ll_loadlib (lua_State *L) |
static int | readable (const char *filename) |
static const char * | pushnexttemplate (lua_State *L, const char *path) |
static const char * | searchpath (lua_State *L, const char *name, const char *path, const char *sep, const char *dirsep) |
static int | ll_searchpath (lua_State *L) |
static const char * | findfile (lua_State *L, const char *name, const char *pname, const char *dirsep) |
static int | checkload (lua_State *L, int stat, const char *filename) |
static int | searcher_Lua (lua_State *L) |
static int | loadfunc (lua_State *L, const char *filename, const char *modname) |
static int | searcher_C (lua_State *L) |
static int | searcher_Croot (lua_State *L) |
static int | searcher_preload (lua_State *L) |
static void | findloader (lua_State *L, const char *name) |
static int | ll_require (lua_State *L) |
static void | createsearcherstable (lua_State *L) |
static void | createclibstable (lua_State *L) |
LUAMOD_API int | luaopen_package (lua_State *L) |
Variables | |
static const int | CLIBS = 0 |
static const luaL_Reg | pk_funcs [] |
static const luaL_Reg | ll_funcs [] |
#define AUXMARK "\1" /* auxiliary mark */ |
Definition at line 272 of file loadlib.cpp.
Referenced by setpath().
#define DLMSG "dynamic libraries not enabled; check your Lua installation" |
Definition at line 228 of file loadlib.cpp.
Referenced by lsys_load(), and lsys_sym().
#define ERRFUNC 2 |
Definition at line 359 of file loadlib.cpp.
Referenced by loadfunc(), lookforfunc(), and searcher_Croot().
#define ERRLIB 1 |
Definition at line 358 of file loadlib.cpp.
Referenced by ll_loadlib(), and lookforfunc().
#define LIB_FAIL "open" |
Definition at line 225 of file loadlib.cpp.
Referenced by ll_loadlib().
#define LIB_FAIL "absent" |
Definition at line 225 of file loadlib.cpp.
#define loadlib_c |
Definition at line 11 of file loadlib.cpp.
#define LUA_CPATH_VAR "LUA_CPATH" |
Definition at line 268 of file loadlib.cpp.
Referenced by luaopen_package().
#define LUA_CSUBSEP LUA_DIRSEP |
Definition at line 43 of file loadlib.cpp.
Referenced by searcher_C(), and searcher_Croot().
#define LUA_IGMARK "-" |
Definition at line 32 of file loadlib.cpp.
Referenced by loadfunc(), and luaopen_package().
#define LUA_LIB |
Definition at line 12 of file loadlib.cpp.
#define LUA_LSUBSEP LUA_DIRSEP |
Definition at line 47 of file loadlib.cpp.
Referenced by searcher_Lua().
#define LUA_OFSEP "_" |
Definition at line 55 of file loadlib.cpp.
Referenced by loadfunc().
#define LUA_PATH_VAR "LUA_PATH" |
Definition at line 264 of file loadlib.cpp.
Referenced by luaopen_package().
#define LUA_POF "luaopen_" |
Definition at line 52 of file loadlib.cpp.
Referenced by loadfunc().
#define setprogdir | ( | L | ) | ((void)0) |
Definition at line 67 of file loadlib.cpp.
Referenced by setpath().
|
static |
Definition at line 331 of file loadlib.cpp.
References CLIBS, lua_pop, lua_pushlightuserdata(), lua_pushvalue(), lua_rawgetp(), lua_rawseti(), LUA_REGISTRYINDEX, lua_setfield(), and luaL_len().
Referenced by lookforfunc().
|
static |
Definition at line 317 of file loadlib.cpp.
References CLIBS, lua_getfield(), lua_pop, lua_rawgetp(), LUA_REGISTRYINDEX, and lua_touserdata().
Referenced by lookforfunc().
|
static |
Definition at line 484 of file loadlib.cpp.
References lua_pushstring(), lua_tostring, and luaL_error().
Referenced by searcher_C(), searcher_Croot(), and searcher_Lua().
|
static |
Definition at line 757 of file loadlib.cpp.
References CLIBS, gctm(), lua_createtable(), lua_newtable, lua_pushcfunction, lua_rawsetp(), LUA_REGISTRYINDEX, lua_setfield(), and lua_setmetatable().
Referenced by luaopen_package().
|
static |
Definition at line 733 of file loadlib.cpp.
References i, lua_createtable(), lua_pushcclosure(), lua_pushvalue(), lua_rawseti(), lua_setfield(), searcher_C(), searcher_Croot(), searcher_Lua(), and searcher_preload().
Referenced by luaopen_package().
|
static |
Definition at line 472 of file loadlib.cpp.
References lua_getfield(), lua_tostring, lua_upvalueindex, luaL_error(), game_config::path, and searchpath().
Referenced by searcher_C(), searcher_Croot(), and searcher_Lua().
|
static |
Definition at line 569 of file loadlib.cpp.
References i, lua_call, lua_getfield(), lua_isfunction, lua_isstring(), lua_pop, lua_pushstring(), lua_rawgeti(), LUA_TNIL, lua_tostring, LUA_TTABLE, lua_upvalueindex, luaL_addvalue(), luaL_buffinit(), luaL_error(), luaL_pushresult(), and wfl::msg().
Referenced by ll_require().
|
static |
Definition at line 345 of file loadlib.cpp.
References lsys_unloadlib(), lua_pop, lua_rawgeti(), lua_touserdata(), and luaL_len().
Referenced by createclibstable().
|
static |
Definition at line 393 of file loadlib.cpp.
References ERRLIB, utils::detail::init, LIB_FAIL, lookforfunc(), lua_insert, lua_pushnil(), lua_pushstring(), and luaL_checkstring.
|
static |
Definition at line 597 of file loadlib.cpp.
References findloader(), i, lua_call, lua_createtable(), lua_getfield(), lua_getinfo(), lua_getmetatable(), lua_getstack(), lua_gettop(), lua_insert, lua_iscfunction(), lua_isfunction, lua_isnil, LUA_LOADED_TABLE, lua_pop, lua_pushboolean(), lua_pushglobaltable, lua_pushlstring(), lua_pushstring(), lua_pushvalue(), LUA_REGISTRYINDEX, lua_setfield(), lua_setmetatable(), lua_settop(), lua_setupvalue(), LUA_TNIL, lua_toboolean(), LUA_TTABLE, luaL_checkstring, luaL_checktype(), luaL_error(), n, and name.
|
static |
Definition at line 458 of file loadlib.cpp.
References LUA_DIRSEP, lua_insert, lua_pushnil(), luaL_checkstring, luaL_optstring, and searchpath().
|
static |
Definition at line 512 of file loadlib.cpp.
References ERRFUNC, lookforfunc(), LUA_IGMARK, LUA_OFSEP, LUA_POF, lua_pushfstring(), lua_pushlstring(), luaL_gsub(), and mark.
Referenced by searcher_C(), and searcher_Croot().
|
static |
Definition at line 372 of file loadlib.cpp.
References addtoclib(), checkclib(), ERRFUNC, ERRLIB, lsys_load(), lsys_sym(), lua_pushboolean(), and lua_pushcfunction.
Referenced by ll_loadlib(), and loadfunc().
|
static |
Definition at line 236 of file loadlib.cpp.
References DLMSG, and lua_pushliteral.
Referenced by lookforfunc().
|
static |
Definition at line 243 of file loadlib.cpp.
References DLMSG, and lua_pushliteral.
Referenced by lookforfunc().
|
static |
Definition at line 231 of file loadlib.cpp.
Referenced by gctm().
LUAMOD_API int luaopen_package | ( | lua_State * | L | ) |
Definition at line 767 of file loadlib.cpp.
References createclibstable(), createsearcherstable(), LUA_CPATH_DEFAULT, LUA_CPATH_VAR, LUA_DIRSEP, LUA_EXEC_DIR, LUA_IGMARK, LUA_LOADED_TABLE, LUA_PATH_DEFAULT, LUA_PATH_MARK, LUA_PATH_SEP, LUA_PATH_VAR, lua_pop, LUA_PRELOAD_TABLE, lua_pushglobaltable, lua_pushliteral, lua_pushvalue(), LUA_REGISTRYINDEX, lua_setfield(), luaL_getsubtable(), luaL_newlib, luaL_setfuncs(), and setpath().
Referenced by lua_kernel_base::load_package().
|
static |
Definition at line 278 of file loadlib.cpp.
References b, lua_getfield(), lua_pop, LUA_REGISTRYINDEX, and lua_toboolean().
Referenced by setpath().
|
static |
Definition at line 424 of file loadlib.cpp.
References LUA_PATH_SEP, and lua_pushlstring().
Referenced by searchpath().
|
static |
Definition at line 416 of file loadlib.cpp.
Referenced by searchpath().
|
static |
Definition at line 530 of file loadlib.cpp.
References checkload(), findfile(), loadfunc(), LUA_CSUBSEP, luaL_checkstring, and name.
Referenced by createsearcherstable().
|
static |
Definition at line 538 of file loadlib.cpp.
References checkload(), ERRFUNC, findfile(), loadfunc(), LUA_CSUBSEP, lua_pushfstring(), lua_pushlstring(), lua_pushstring(), lua_tostring, luaL_checkstring, name, and p.
Referenced by createsearcherstable().
|
static |
Definition at line 495 of file loadlib.cpp.
References checkload(), findfile(), LUA_LSUBSEP, LUA_OK, luaL_checkstring, luaL_loadfile, and name.
Referenced by createsearcherstable().
|
static |
Definition at line 560 of file loadlib.cpp.
References lua_getfield(), LUA_PRELOAD_TABLE, lua_pushfstring(), LUA_REGISTRYINDEX, LUA_TNIL, luaL_checkstring, and name.
Referenced by createsearcherstable().
|
static |
Definition at line 435 of file loadlib.cpp.
References LUA_PATH_MARK, lua_pushfstring(), lua_remove, lua_tostring, luaL_addvalue(), luaL_buffinit(), luaL_gsub(), luaL_pushresult(), wfl::msg(), pushnexttemplate(), and readable().
Referenced by findfile(), and ll_searchpath().
|
static |
Definition at line 290 of file loadlib.cpp.
References AUXMARK, LUA_PATH_SEP, lua_pop, lua_pushfstring(), lua_pushstring(), lua_remove, lua_setfield(), LUA_VERSUFFIX, luaL_gsub(), noenv(), and setprogdir.
Referenced by luaopen_package().
|
static |
Definition at line 62 of file loadlib.cpp.
Referenced by addtoclib(), checkclib(), and createclibstable().
|
static |
Definition at line 724 of file loadlib.cpp.
|
static |
Definition at line 708 of file loadlib.cpp.