about summary refs log tree commit diff stats
path: root/src/linit.c
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-10-19 21:38:48 -0700
committerKartik K. Agaram <vc@akkartik.com>2021-10-22 19:24:44 -0700
commit74f8cd15bb43110973deffdeb9dd229797e5b328 (patch)
tree12d6b5475a786eacf7a5a79b03b2b85621578ec6 /src/linit.c
downloadteliva-74f8cd15bb43110973deffdeb9dd229797e5b328.tar.gz
new fork of Lua 5.1
https://www.lua.org
Diffstat (limited to 'src/linit.c')
-rw-r--r--src/linit.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/linit.c b/src/linit.c
new file mode 100644
index 0000000..c1f90df
--- /dev/null
+++ b/src/linit.c
@@ -0,0 +1,38 @@
+/*
+** $Id: linit.c,v 1.14.1.1 2007/12/27 13:02:25 roberto Exp $
+** Initialization of libraries for lua.c
+** See Copyright Notice in lua.h
+*/
+
+
+#define linit_c
+#define LUA_LIB
+
+#include "lua.h"
+
+#include "lualib.h"
+#include "lauxlib.h"
+
+
+static const luaL_Reg lualibs[] = {
+  {"", luaopen_base},
+  {LUA_LOADLIBNAME, luaopen_package},
+  {LUA_TABLIBNAME, luaopen_table},
+  {LUA_IOLIBNAME, luaopen_io},
+  {LUA_OSLIBNAME, luaopen_os},
+  {LUA_STRLIBNAME, luaopen_string},
+  {LUA_MATHLIBNAME, luaopen_math},
+  {LUA_DBLIBNAME, luaopen_debug},
+  {NULL, NULL}
+};
+
+
+LUALIB_API void luaL_openlibs (lua_State *L) {
+  const luaL_Reg *lib = lualibs;
+  for (; lib->func; lib++) {
+    lua_pushcfunction(L, lib->func);
+    lua_pushstring(L, lib->name);
+    lua_call(L, 1, 0);
+  }
+}
+