The Battle for Wesnoth  1.15.2+dev
Classes | Macros | Typedefs | Functions
lauxlib.cpp File Reference
#include "lprefix.h"
#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua.h"
#include "lauxlib.h"
Include dependency graph for lauxlib.cpp:

Go to the source code of this file.

Classes

struct  UBox
 
struct  LoadF
 
struct  LoadS
 

Macros

#define lauxlib_c
 
#define LUA_LIB
 
#define LEVELS1   10 /* size of the first part of the stack */
 
#define LEVELS2   11 /* size of the second part of the stack */
 
#define l_inspectstat(stat, what)   /* no op */
 
#define buffonstack(B)   ((B)->b != (B)->initb)
 
#define freelist   0
 

Typedefs

typedef struct UBox UBox
 
typedef struct LoadF LoadF
 
typedef struct LoadS LoadS
 

Functions

static int findfield (lua_State *L, int objidx, int level)
 
static int pushglobalfuncname (lua_State *L, lua_Debug *ar)
 
static void pushfuncname (lua_State *L, lua_Debug *ar)
 
static int lastlevel (lua_State *L)
 
LUALIB_API void luaL_traceback (lua_State *L, lua_State *L1, const char *msg, int level)
 
LUALIB_API int luaL_argerror (lua_State *L, int arg, const char *extramsg)
 
static int typeerror (lua_State *L, int arg, const char *tname)
 
static void tag_error (lua_State *L, int arg, int tag)
 
LUALIB_API void luaL_where (lua_State *L, int level)
 
LUALIB_API int luaL_error (lua_State *L, const char *fmt,...)
 
LUALIB_API int luaL_fileresult (lua_State *L, int stat, const char *fname)
 
LUALIB_API int luaL_execresult (lua_State *L, int stat)
 
LUALIB_API int luaL_newmetatable (lua_State *L, const char *tname)
 
LUALIB_API void luaL_setmetatable (lua_State *L, const char *tname)
 
LUALIB_API void * luaL_testudata (lua_State *L, int ud, const char *tname)
 
LUALIB_API void * luaL_checkudata (lua_State *L, int ud, const char *tname)
 
LUALIB_API int luaL_checkoption (lua_State *L, int arg, const char *def, const char *const lst[])
 
LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *msg)
 
LUALIB_API void luaL_checktype (lua_State *L, int arg, int t)
 
LUALIB_API void luaL_checkany (lua_State *L, int arg)
 
LUALIB_API const char * luaL_checklstring (lua_State *L, int arg, size_t *len)
 
LUALIB_API const char * luaL_optlstring (lua_State *L, int arg, const char *def, size_t *len)
 
LUALIB_API lua_Number luaL_checknumber (lua_State *L, int arg)
 
LUALIB_API lua_Number luaL_optnumber (lua_State *L, int arg, lua_Number def)
 
static void interror (lua_State *L, int arg)
 
LUALIB_API lua_Integer luaL_checkinteger (lua_State *L, int arg)
 
LUALIB_API lua_Integer luaL_optinteger (lua_State *L, int arg, lua_Integer def)
 
static void * resizebox (lua_State *L, int idx, size_t newsize)
 
static int boxgc (lua_State *L)
 
static void * newbox (lua_State *L, size_t newsize)
 
LUALIB_API char * luaL_prepbuffsize (luaL_Buffer *B, size_t sz)
 
LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l)
 
LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s)
 
LUALIB_API void luaL_pushresult (luaL_Buffer *B)
 
LUALIB_API void luaL_pushresultsize (luaL_Buffer *B, size_t sz)
 
LUALIB_API void luaL_addvalue (luaL_Buffer *B)
 
LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B)
 
LUALIB_API char * luaL_buffinitsize (lua_State *L, luaL_Buffer *B, size_t sz)
 
LUALIB_API int luaL_ref (lua_State *L, int t)
 
LUALIB_API void luaL_unref (lua_State *L, int t, int ref)
 
static const char * getF (lua_State *L, void *ud, size_t *size)
 
static int errfile (lua_State *L, const char *what, int fnameindex)
 
static int skipBOM (LoadF *lf)
 
static int skipcomment (LoadF *lf, int *cp)
 
LUALIB_API int luaL_loadfilex (lua_State *L, const char *filename, const char *mode)
 
static const char * getS (lua_State *L, void *ud, size_t *size)
 
LUALIB_API int luaL_loadbufferx (lua_State *L, const char *buff, size_t size, const char *name, const char *mode)
 
LUALIB_API int luaL_loadstring (lua_State *L, const char *s)
 
LUALIB_API int luaL_getmetafield (lua_State *L, int obj, const char *event)
 
LUALIB_API int luaL_callmeta (lua_State *L, int obj, const char *event)
 
LUALIB_API lua_Integer luaL_len (lua_State *L, int idx)
 
LUALIB_API const char * luaL_tolstring (lua_State *L, int idx, size_t *len)
 
LUALIB_API void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup)
 
LUALIB_API int luaL_getsubtable (lua_State *L, int idx, const char *fname)
 
LUALIB_API void luaL_requiref (lua_State *L, const char *modname, lua_CFunction openf, int glb)
 
LUALIB_API const char * luaL_gsub (lua_State *L, const char *s, const char *p, const char *r)
 
static void * l_alloc (void *ud, void *ptr, size_t osize, size_t nsize)
 
static int panic (lua_State *L)
 
LUALIB_API lua_StateluaL_newstate (void)
 
LUALIB_API void luaL_checkversion_ (lua_State *L, lua_Number ver, size_t sz)
 

Macro Definition Documentation

◆ buffonstack

#define buffonstack (   B)    ((B)->b != (B)->initb)

Definition at line 499 of file lauxlib.cpp.

Referenced by luaL_addvalue(), luaL_prepbuffsize(), and luaL_pushresult().

◆ freelist

#define freelist   0

Definition at line 592 of file lauxlib.cpp.

Referenced by luaL_ref(), and luaL_unref().

◆ l_inspectstat

#define l_inspectstat (   stat,
  what 
)    /* no op */

Definition at line 267 of file lauxlib.cpp.

Referenced by luaL_execresult().

◆ lauxlib_c

#define lauxlib_c

Definition at line 7 of file lauxlib.cpp.

◆ LEVELS1

#define LEVELS1   10 /* size of the first part of the stack */

Definition at line 37 of file lauxlib.cpp.

Referenced by luaL_traceback().

◆ LEVELS2

#define LEVELS2   11 /* size of the second part of the stack */

Definition at line 38 of file lauxlib.cpp.

Referenced by luaL_traceback().

◆ LUA_LIB

#define LUA_LIB

Definition at line 8 of file lauxlib.cpp.

Typedef Documentation

◆ LoadF

typedef struct LoadF LoadF

◆ LoadS

typedef struct LoadS LoadS

◆ UBox

typedef struct UBox UBox

Function Documentation

◆ boxgc()

static int boxgc ( lua_State L)
static

Definition at line 476 of file lauxlib.cpp.

References resizebox().

Referenced by newbox().

◆ errfile()

static int errfile ( lua_State L,
const char *  what,
int  fnameindex 
)
static

Definition at line 660 of file lauxlib.cpp.

References LUA_ERRFILE, lua_pushfstring(), lua_remove, and lua_tostring.

Referenced by luaL_loadfilex().

◆ findfield()

static int findfield ( lua_State L,
int  objidx,
int  level 
)
static

◆ getF()

static const char* getF ( lua_State L,
void *  ud,
size_t *  size 
)
static

Definition at line 642 of file lauxlib.cpp.

References LoadF::buff, LoadF::f, and LoadF::n.

Referenced by luaL_loadfilex().

◆ getS()

static const char* getS ( lua_State L,
void *  ud,
size_t *  size 
)
static

Definition at line 745 of file lauxlib.cpp.

References LoadS::s, and LoadS::size.

Referenced by luaL_loadbufferx().

◆ interror()

static void interror ( lua_State L,
int  arg 
)
static

Definition at line 422 of file lauxlib.cpp.

References lua_isnumber(), LUA_TNUMBER, luaL_argerror(), and tag_error().

Referenced by luaL_checkinteger().

◆ l_alloc()

static void* l_alloc ( void *  ud,
void *  ptr,
size_t  osize,
size_t  nsize 
)
static

Definition at line 1008 of file lauxlib.cpp.

Referenced by luaL_newstate().

◆ lastlevel()

static int lastlevel ( lua_State L)
static

Definition at line 110 of file lauxlib.cpp.

References lua_getstack().

Referenced by luaL_traceback().

◆ luaL_addlstring()

LUALIB_API void luaL_addlstring ( luaL_Buffer B,
const char *  s,
size_t  l 
)

◆ luaL_addstring()

LUALIB_API void luaL_addstring ( luaL_Buffer B,
const char *  s 
)

Definition at line 537 of file lauxlib.cpp.

References luaL_addlstring().

Referenced by addquoted(), and luaL_gsub().

◆ luaL_addvalue()

LUALIB_API void luaL_addvalue ( luaL_Buffer B)

◆ luaL_argerror()

LUALIB_API int luaL_argerror ( lua_State L,
int  arg,
const char *  extramsg 
)

Definition at line 164 of file lauxlib.cpp.

References lua_getinfo(), lua_getstack(), lua_tostring, luaL_error(), lua_Debug::name, lua_Debug::namewhat, and pushglobalfuncname().

Referenced by addliteral(), ai::cfun_ai_get_suitable_keep(), checkoption(), db_getinfo(), db_getlocal(), db_setlocal(), find_widget(), g_read(), getdetails(), impl_add_animation(), impl_context_accessor(), lua_kernel_base::impl_game_config_set(), impl_music_set(), impl_terainfilter_set(), impl_terainmap_set(), impl_unit_attack_get(), impl_unit_attack_match(), impl_unit_attack_set(), impl_unit_attacks_get(), impl_unit_attacks_len(), impl_unit_attacks_set(), impl_unit_set(), impl_unit_status_get(), impl_unit_status_set(), impl_unit_variables_get(), impl_unit_variables_set(), interror(), lua_gui2::intf_add_dialog_tree_node(), intf_add_known_unit(), intf_add_modification(), lua_gui2::intf_add_widget_definition(), lua_fileops::intf_canonical_path(), intf_compare_versions(), game_lua_kernel::intf_end_turn(), game_lua_kernel::intf_erase_unit(), game_lua_kernel::intf_find_cost_map(), game_lua_kernel::intf_find_path(), intf_find_path(), game_lua_kernel::intf_find_reach(), lua_map_location::intf_get_adjacent_tiles(), lua_gui2::intf_get_dialog_value(), lua_map_location::intf_get_direction(), game_lua_kernel::intf_get_fog_or_shroud(), lua_map_location::intf_get_in_basis_N_NE(), game_lua_kernel::intf_get_time_of_day(), game_lua_kernel::intf_get_unit(), game_lua_kernel::intf_get_units(), game_lua_kernel::intf_highlight_hex(), intf_invoke_synced_command(), intf_load(), lua_wml::intf_load_wml(), game_lua_kernel::intf_log_replay(), game_lua_kernel::intf_match_unit(), mapgen_gamemap::intf_mg_terrain_mask(), intf_music_add(), intf_name_generator(), game_lua_kernel::intf_put_recall_unit(), game_lua_kernel::intf_put_unit(), intf_random(), lua_fileops::intf_read_file(), lua_gui2::intf_remove_dialog_item(), lua_kernel_base::intf_require(), game_lua_kernel::intf_select_unit(), lua_gui2::intf_set_dialog_active(), lua_gui2::intf_set_dialog_callback(), lua_gui2::intf_set_dialog_canvas(), lua_gui2::intf_set_dialog_markup(), lua_gui2::intf_set_dialog_tooltip(), lua_gui2::intf_set_dialog_value(), lua_gui2::intf_set_dialog_visible(), game_lua_kernel::intf_set_time_of_day(), game_lua_kernel::intf_set_variable(), game_lua_kernel::intf_shroud_op(), game_lua_kernel::intf_simulate_combat(), intf_sound_volume(), intf_synchronize_choice(), intf_synchronize_choices(), intf_terainfilter_create(), game_lua_kernel::intf_terrain_mask(), intf_transform_unit(), lua_map_location::intf_vector_negation(), lua_wml::intf_wml_merge(), load_fake_units(), lua_fileops::load_file(), lua_check_impl::lua_check(), luaL_checkany(), luaL_checkoption(), luaW_checkrace(), luaW_checkweapon(), luaW_table_get_def(), luaW_type_error(), read_rules_vector(), lua_gui2::show_message_dialog(), str_format(), str_packsize(), str_unpack(), typeerror(), and unit_show_error().

◆ luaL_buffinit()

LUALIB_API void luaL_buffinit ( lua_State L,
luaL_Buffer B 
)

◆ luaL_buffinitsize()

LUALIB_API char* luaL_buffinitsize ( lua_State L,
luaL_Buffer B,
size_t  sz 
)

Definition at line 577 of file lauxlib.cpp.

References luaL_buffinit(), and luaL_prepbuffsize().

Referenced by str_char(), str_lower(), str_rep(), str_reverse(), and str_upper().

◆ luaL_callmeta()

LUALIB_API int luaL_callmeta ( lua_State L,
int  obj,
const char *  event 
)

Definition at line 788 of file lauxlib.cpp.

References lua_absindex(), lua_call, lua_pushvalue(), LUA_TNIL, and luaL_getmetafield().

Referenced by luaL_tolstring().

◆ luaL_checkany()

LUALIB_API void luaL_checkany ( lua_State L,
int  arg 
)

◆ luaL_checkinteger()

LUALIB_API lua_Integer luaL_checkinteger ( lua_State L,
int  arg 
)

◆ luaL_checklstring()

LUALIB_API const char* luaL_checklstring ( lua_State L,
int  arg,
size_t *  len 
)

◆ luaL_checknumber()

LUALIB_API lua_Number luaL_checknumber ( lua_State L,
int  arg 
)

◆ luaL_checkoption()

LUALIB_API int luaL_checkoption ( lua_State L,
int  arg,
const char *  def,
const char *const  lst[] 
)

◆ luaL_checkstack()

LUALIB_API void luaL_checkstack ( lua_State L,
int  space,
const char *  msg 
)

◆ luaL_checktype()

LUALIB_API void luaL_checktype ( lua_State L,
int  arg,
int  t 
)

◆ luaL_checkudata()

LUALIB_API void* luaL_checkudata ( lua_State L,
int  ud,
const char *  tname 
)

◆ luaL_checkversion_()

LUALIB_API void luaL_checkversion_ ( lua_State L,
lua_Number  ver,
size_t  sz 
)

Definition at line 1033 of file lauxlib.cpp.

References lua_version(), LUAI_UACNUMBER, luaL_error(), and LUAL_NUMSIZES.

◆ luaL_error()

LUALIB_API int luaL_error ( lua_State L,
const char *  fmt,
  ... 
)

◆ luaL_execresult()

LUALIB_API int luaL_execresult ( lua_State L,
int  stat 
)

◆ luaL_fileresult()

LUALIB_API int luaL_fileresult ( lua_State L,
int  stat,
const char *  fname 
)

◆ luaL_getmetafield()

LUALIB_API int luaL_getmetafield ( lua_State L,
int  obj,
const char *  event 
)

◆ luaL_getsubtable()

LUALIB_API int luaL_getsubtable ( lua_State L,
int  idx,
const char *  fname 
)

◆ luaL_gsub()

LUALIB_API const char* luaL_gsub ( lua_State L,
const char *  s,
const char *  p,
const char *  r 
)

Definition at line 991 of file lauxlib.cpp.

References b, lua_tostring, luaL_addlstring(), luaL_addstring(), luaL_buffinit(), and luaL_pushresult().

Referenced by loadfunc(), searchpath(), and setpath().

◆ luaL_len()

LUALIB_API lua_Integer luaL_len ( lua_State L,
int  idx 
)

Definition at line 798 of file lauxlib.cpp.

References lua_len(), lua_pop, lua_tointegerx(), and luaL_error().

Referenced by addtoclib(), gctm(), lua_stringx::intf_str_join(), and unpack().

◆ luaL_loadbufferx()

LUALIB_API int luaL_loadbufferx ( lua_State L,
const char *  buff,
size_t  size,
const char *  name,
const char *  mode 
)

◆ luaL_loadfilex()

LUALIB_API int luaL_loadfilex ( lua_State L,
const char *  filename,
const char *  mode 
)

◆ luaL_loadstring()

LUALIB_API int luaL_loadstring ( lua_State L,
const char *  s 
)

◆ luaL_newmetatable()

LUALIB_API int luaL_newmetatable ( lua_State L,
const char *  tname 
)

◆ luaL_newstate()

LUALIB_API lua_State* luaL_newstate ( void  )

Definition at line 1026 of file lauxlib.cpp.

References l_alloc(), lua_atpanic(), lua_newstate(), and panic().

◆ luaL_optinteger()

LUALIB_API lua_Integer luaL_optinteger ( lua_State L,
int  arg,
lua_Integer  def 
)

◆ luaL_optlstring()

LUALIB_API const char* luaL_optlstring ( lua_State L,
int  arg,
const char *  def,
size_t *  len 
)

Definition at line 397 of file lauxlib.cpp.

References lua_isnoneornil, and luaL_checklstring().

Referenced by game_lua_kernel::intf_set_side_id(), os_date(), str_rep(), and tconcat().

◆ luaL_optnumber()

LUALIB_API lua_Number luaL_optnumber ( lua_State L,
int  arg,
lua_Number  def 
)

Definition at line 417 of file lauxlib.cpp.

References luaL_checknumber(), and luaL_opt.

Referenced by math_atan().

◆ luaL_prepbuffsize()

LUALIB_API char* luaL_prepbuffsize ( luaL_Buffer B,
size_t  sz 
)

◆ luaL_pushresult()

LUALIB_API void luaL_pushresult ( luaL_Buffer B)

◆ luaL_pushresultsize()

LUALIB_API void luaL_pushresultsize ( luaL_Buffer B,
size_t  sz 
)

Definition at line 552 of file lauxlib.cpp.

References luaL_addsize, and luaL_pushresult().

Referenced by str_char(), str_lower(), str_rep(), str_reverse(), and str_upper().

◆ luaL_ref()

LUALIB_API int luaL_ref ( lua_State L,
int  t 
)

◆ luaL_requiref()

LUALIB_API void luaL_requiref ( lua_State L,
const char *  modname,
lua_CFunction  openf,
int  glb 
)

◆ luaL_setfuncs()

LUALIB_API void luaL_setfuncs ( lua_State L,
const luaL_Reg l,
int  nup 
)

◆ luaL_setmetatable()

LUALIB_API void luaL_setmetatable ( lua_State L,
const char *  tname 
)

◆ luaL_testudata()

LUALIB_API void* luaL_testudata ( lua_State L,
int  ud,
const char *  tname 
)

◆ luaL_tolstring()

LUALIB_API const char* luaL_tolstring ( lua_State L,
int  idx,
size_t *  len 
)

◆ luaL_traceback()

LUALIB_API void luaL_traceback ( lua_State L,
lua_State L1,
const char *  msg,
int  level 
)

◆ luaL_unref()

LUALIB_API void luaL_unref ( lua_State L,
int  t,
int  ref 
)

◆ luaL_where()

LUALIB_API void luaL_where ( lua_State L,
int  level 
)

◆ newbox()

static void* newbox ( lua_State L,
size_t  newsize 
)
static

◆ panic()

static int panic ( lua_State L)
static

Definition at line 1019 of file lauxlib.cpp.

References lua_tostring, and lua_writestringerror.

Referenced by luaL_newstate().

◆ pushfuncname()

static void pushfuncname ( lua_State L,
lua_Debug ar 
)
static

◆ pushglobalfuncname()

static int pushglobalfuncname ( lua_State L,
lua_Debug ar 
)
static

◆ resizebox()

static void* resizebox ( lua_State L,
int  idx,
size_t  newsize 
)
static

◆ skipBOM()

static int skipBOM ( LoadF lf)
static

Definition at line 669 of file lauxlib.cpp.

References LoadF::buff, c, LoadF::f, LoadF::n, and p.

Referenced by skipcomment().

◆ skipcomment()

static int skipcomment ( LoadF lf,
int *  cp 
)
static

Definition at line 690 of file lauxlib.cpp.

References c, LoadF::f, and skipBOM().

Referenced by luaL_loadfilex().

◆ tag_error()

static void tag_error ( lua_State L,
int  arg,
int  tag 
)
static

Definition at line 196 of file lauxlib.cpp.

References lua_typename(), and typeerror().

Referenced by interror(), luaL_checklstring(), luaL_checknumber(), and luaL_checktype().

◆ typeerror()

static int typeerror ( lua_State L,
int  arg,
const char *  tname 
)
static