|
@@ -1,5 +1,5 @@
|
|
/*
|
|
/*
|
|
-** $Id: lauxlib.h,v 1.79 2005/05/31 14:34:02 roberto Exp roberto $
|
|
|
|
|
|
+** $Id: lauxlib.h,v 1.80 2005/07/13 19:02:42 roberto Exp roberto $
|
|
** Auxiliary functions for building Lua libraries
|
|
** Auxiliary functions for building Lua libraries
|
|
** See Copyright Notice in lua.h
|
|
** See Copyright Notice in lua.h
|
|
*/
|
|
*/
|
|
@@ -20,6 +20,10 @@
|
|
#define luaL_setn(L,i,j) ((void)0) /* no op! */
|
|
#define luaL_setn(L,i,j) ((void)0) /* no op! */
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#if defined(LUA_COMPAT_OPENLIB)
|
|
|
|
+#define luaI_openlib luaL_openlib
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
|
|
/* extra error code for `luaL_load' */
|
|
/* extra error code for `luaL_load' */
|
|
#define LUA_ERRFILE (LUA_ERRERR+1)
|
|
#define LUA_ERRFILE (LUA_ERRERR+1)
|
|
@@ -31,8 +35,11 @@ typedef struct luaL_reg {
|
|
} luaL_reg;
|
|
} luaL_reg;
|
|
|
|
|
|
|
|
|
|
-LUALIB_API void (luaL_openlib) (lua_State *L, const char *libname,
|
|
|
|
|
|
+
|
|
|
|
+LUALIB_API void (luaI_openlib) (lua_State *L, const char *libname,
|
|
const luaL_reg *l, int nup);
|
|
const luaL_reg *l, int nup);
|
|
|
|
+LUALIB_API void (luaL_register) (lua_State *L, const char *libname,
|
|
|
|
+ const luaL_reg *l);
|
|
LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e);
|
|
LUALIB_API int (luaL_getmetafield) (lua_State *L, int obj, const char *e);
|
|
LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e);
|
|
LUALIB_API int (luaL_callmeta) (lua_State *L, int obj, const char *e);
|
|
LUALIB_API int (luaL_typerror) (lua_State *L, int narg, const char *tname);
|
|
LUALIB_API int (luaL_typerror) (lua_State *L, int narg, const char *tname);
|
|
@@ -71,6 +78,7 @@ LUALIB_API void (luaL_setn) (lua_State *L, int t, int n);
|
|
LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename);
|
|
LUALIB_API int (luaL_loadfile) (lua_State *L, const char *filename);
|
|
LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz,
|
|
LUALIB_API int (luaL_loadbuffer) (lua_State *L, const char *buff, size_t sz,
|
|
const char *name);
|
|
const char *name);
|
|
|
|
+LUALIB_API int (luaL_loadstring) (lua_State *L, const char *s);
|
|
|
|
|
|
LUALIB_API lua_State *(luaL_newstate) (void);
|
|
LUALIB_API lua_State *(luaL_newstate) (void);
|
|
|
|
|
|
@@ -84,6 +92,7 @@ LUALIB_API const char *(luaL_setfield) (lua_State *L, int idx,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
/*
|
|
/*
|
|
** ===============================================================
|
|
** ===============================================================
|
|
** some useful macros
|
|
** some useful macros
|
|
@@ -101,6 +110,11 @@ LUALIB_API const char *(luaL_setfield) (lua_State *L, int idx,
|
|
|
|
|
|
#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
|
|
#define luaL_typename(L,i) lua_typename(L, lua_type(L,(i)))
|
|
|
|
|
|
|
|
+#define luaL_dofile(L, fn) (luaL_loadfile(L, fn) || lua_pcall(L, 0, 0, 0))
|
|
|
|
+
|
|
|
|
+#define luaL_dostring(L, s) (luaL_loadstring(L, s) || lua_pcall(L, 0, 0, 0))
|
|
|
|
+
|
|
|
|
+
|
|
/*
|
|
/*
|
|
** {======================================================
|
|
** {======================================================
|
|
** Generic Buffer manipulation
|
|
** Generic Buffer manipulation
|
|
@@ -116,10 +130,13 @@ typedef struct luaL_Buffer {
|
|
char buffer[LUAL_BUFFERSIZE];
|
|
char buffer[LUAL_BUFFERSIZE];
|
|
} luaL_Buffer;
|
|
} luaL_Buffer;
|
|
|
|
|
|
-#define luaL_putchar(B,c) \
|
|
|
|
|
|
+#define luaL_addchar(B,c) \
|
|
((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), \
|
|
((void)((B)->p < ((B)->buffer+LUAL_BUFFERSIZE) || luaL_prepbuffer(B)), \
|
|
(*(B)->p++ = (char)(c)))
|
|
(*(B)->p++ = (char)(c)))
|
|
|
|
|
|
|
|
+/* compatibility only */
|
|
|
|
+#define luaL_putchar(B,c) luaL_addchar(B,c)
|
|
|
|
+
|
|
#define luaL_addsize(B,n) ((B)->p += (n))
|
|
#define luaL_addsize(B,n) ((B)->p += (n))
|
|
|
|
|
|
LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B);
|
|
LUALIB_API void (luaL_buffinit) (lua_State *L, luaL_Buffer *B);
|