LCOV - code coverage report
Current view: top level - src - linit.c Coverage Total Hit
Test: Lua 5.3.6 Lines: 100.0 % 5 5
Test Date: 2024-04-28 10:23:15
Legend: Lines: hit not hit

            Line data    Source code
       1              : /*
       2              : ** $Id: linit.c,v 1.39.1.1 2017/04/19 17:20:42 roberto Exp $
       3              : ** Initialization of libraries for lua.c and other clients
       4              : ** See Copyright Notice in lua.h
       5              : */
       6              : 
       7              : 
       8              : #define linit_c
       9              : #define LUA_LIB
      10              : 
      11              : /*
      12              : ** If you embed Lua in your program and need to open the standard
      13              : ** libraries, call luaL_openlibs in your program. If you need a
      14              : ** different set of libraries, copy this file to your project and edit
      15              : ** it to suit your needs.
      16              : **
      17              : ** You can also *preload* libraries, so that a later 'require' can
      18              : ** open the library, which is already linked to the application.
      19              : ** For that, do the following code:
      20              : **
      21              : **  luaL_getsubtable(L, LUA_REGISTRYINDEX, LUA_PRELOAD_TABLE);
      22              : **  lua_pushcfunction(L, luaopen_modname);
      23              : **  lua_setfield(L, -2, modname);
      24              : **  lua_pop(L, 1);  // remove PRELOAD table
      25              : */
      26              : 
      27              : #include "lprefix.h"
      28              : 
      29              : 
      30              : #include <stddef.h>
      31              : 
      32              : #include "lua.h"
      33              : 
      34              : #include "lualib.h"
      35              : #include "lauxlib.h"
      36              : 
      37              : 
      38              : /*
      39              : ** these libs are loaded by lua.c and are readily available to any Lua
      40              : ** program
      41              : */
      42              : static const luaL_Reg loadedlibs[] = {
      43              :   {"_G", luaopen_base},
      44              :   {LUA_LOADLIBNAME, luaopen_package},
      45              :   {LUA_COLIBNAME, luaopen_coroutine},
      46              :   {LUA_TABLIBNAME, luaopen_table},
      47              :   {LUA_IOLIBNAME, luaopen_io},
      48              :   {LUA_OSLIBNAME, luaopen_os},
      49              :   {LUA_STRLIBNAME, luaopen_string},
      50              :   {LUA_MATHLIBNAME, luaopen_math},
      51              :   {LUA_UTF8LIBNAME, luaopen_utf8},
      52              :   {LUA_DBLIBNAME, luaopen_debug},
      53              : #if defined(LUA_COMPAT_BITLIB)
      54              :   {LUA_BITLIBNAME, luaopen_bit32},
      55              : #endif
      56              :   {NULL, NULL}
      57              : };
      58              : 
      59              : 
      60           86 : LUALIB_API void luaL_openlibs (lua_State *L) {
      61              :   const luaL_Reg *lib;
      62              :   /* "require" functions from 'loadedlibs' and set results to global table */
      63         1032 :   for (lib = loadedlibs; lib->func; lib++) {
      64          946 :     luaL_requiref(L, lib->name, lib->func, 1);
      65          946 :     lua_pop(L, 1);  /* remove lib */
      66              :   }
      67           86 : }
      68              : 
        

Generated by: LCOV version 2.0-1