From 2cbbf3933ac7aa82c788d388b64ad0df7a9d83f6 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 27 Oct 2000 14:15:53 -0200 Subject: [PATCH] new macro LUALIB_API (so the lib can be a separate DLL) --- lauxlib.c | 36 ++++++++++++++++++------------------ lauxlib.h | 41 +++++++++++++++++++++++------------------ lbaselib.c | 4 ++-- ldblib.c | 4 ++-- liolib.c | 4 ++-- lmathlib.c | 4 ++-- lstrlib.c | 4 ++-- lualib.h | 17 +++++++++++------ 8 files changed, 62 insertions(+), 52 deletions(-) diff --git a/lauxlib.c b/lauxlib.c index 08ad3fba..97e8c896 100644 --- a/lauxlib.c +++ b/lauxlib.c @@ -1,5 +1,5 @@ /* -** $Id: lauxlib.c,v 1.39 2000/10/05 12:14:08 roberto Exp roberto $ +** $Id: lauxlib.c,v 1.40 2000/10/20 16:39:03 roberto Exp roberto $ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h */ @@ -21,7 +21,7 @@ -LUA_API int luaL_findstring (const char *name, const char *const list[]) { +LUALIB_API int luaL_findstring (const char *name, const char *const list[]) { int i; for (i=0; list[i]; i++) if (strcmp(list[i], name) == 0) @@ -29,7 +29,7 @@ LUA_API int luaL_findstring (const char *name, const char *const list[]) { return -1; /* name not found */ } -LUA_API void luaL_argerror (lua_State *L, int narg, const char *extramsg) { +LUALIB_API void luaL_argerror (lua_State *L, int narg, const char *extramsg) { lua_Debug ar; lua_getstack(L, 0, &ar); lua_getinfo(L, "n", &ar); @@ -49,25 +49,25 @@ static void type_error (lua_State *L, int narg, int t) { } -LUA_API void luaL_checkstack (lua_State *L, int space, const char *mes) { +LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *mes) { if (space > lua_stackspace(L)) luaL_verror(L, "stack overflow (%.30s)", mes); } -LUA_API void luaL_checktype(lua_State *L, int narg, int t) { +LUALIB_API void luaL_checktype(lua_State *L, int narg, int t) { if (lua_type(L, narg) != t) type_error(L, narg, t); } -LUA_API void luaL_checkany (lua_State *L, int narg) { +LUALIB_API void luaL_checkany (lua_State *L, int narg) { if (lua_type(L, narg) == LUA_TNONE) luaL_argerror(L, narg, "value expected"); } -LUA_API const char *luaL_check_lstr (lua_State *L, int narg, size_t *len) { +LUALIB_API const char *luaL_check_lstr (lua_State *L, int narg, size_t *len) { const char *s = lua_tostring(L, narg); if (!s) type_error(L, narg, LUA_TSTRING); if (len) *len = lua_strlen(L, narg); @@ -75,7 +75,7 @@ LUA_API const char *luaL_check_lstr (lua_State *L, int narg, size_t *len) { } -LUA_API const char *luaL_opt_lstr (lua_State *L, int narg, const char *def, +LUALIB_API const char *luaL_opt_lstr (lua_State *L, int narg, const char *def, size_t *len) { if (lua_isnull(L, narg)) { if (len) @@ -86,7 +86,7 @@ LUA_API const char *luaL_opt_lstr (lua_State *L, int narg, const char *def, } -LUA_API double luaL_check_number (lua_State *L, int narg) { +LUALIB_API double luaL_check_number (lua_State *L, int narg) { double d = lua_tonumber(L, narg); if (d == 0 && !lua_isnumber(L, narg)) /* avoid extra test when d is not 0 */ type_error(L, narg, LUA_TNUMBER); @@ -94,20 +94,20 @@ LUA_API double luaL_check_number (lua_State *L, int narg) { } -LUA_API double luaL_opt_number (lua_State *L, int narg, double def) { +LUALIB_API double luaL_opt_number (lua_State *L, int narg, double def) { if (lua_isnull(L, narg)) return def; else return luaL_check_number(L, narg); } -LUA_API void luaL_openlib (lua_State *L, const struct luaL_reg *l, int n) { +LUALIB_API void luaL_openlib (lua_State *L, const struct luaL_reg *l, int n) { int i; for (i=0; ibuffer; } -LUA_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) { +LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) { while (l--) luaL_putchar(B, *s++); } -LUA_API void luaL_addstring (luaL_Buffer *B, const char *s) { +LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s) { luaL_addlstring(B, s, strlen(s)); } -LUA_API void luaL_pushresult (luaL_Buffer *B) { +LUALIB_API void luaL_pushresult (luaL_Buffer *B) { emptybuffer(B); if (B->level == 0) lua_pushlstring(B->L, NULL, 0); @@ -192,7 +192,7 @@ LUA_API void luaL_pushresult (luaL_Buffer *B) { } -LUA_API void luaL_addvalue (luaL_Buffer *B) { +LUALIB_API void luaL_addvalue (luaL_Buffer *B) { lua_State *L = B->L; size_t vl = lua_strlen(L, -1); if (vl <= bufffree(B)) { /* fit into buffer? */ @@ -209,7 +209,7 @@ LUA_API void luaL_addvalue (luaL_Buffer *B) { } -LUA_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) { +LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B) { B->L = L; B->p = B->buffer; B->level = 0; diff --git a/lauxlib.h b/lauxlib.h index 2f159e23..47aedc07 100644 --- a/lauxlib.h +++ b/lauxlib.h @@ -1,5 +1,5 @@ /* -** $Id: lauxlib.h,v 1.27 2000/10/05 12:14:08 roberto Exp roberto $ +** $Id: lauxlib.h,v 1.28 2000/10/20 16:39:03 roberto Exp roberto $ ** Auxiliary functions for building Lua libraries ** See Copyright Notice in lua.h */ @@ -15,26 +15,31 @@ #include "lua.h" +#ifndef LUALIB_API +#define LUALIB_API extern +#endif + + struct luaL_reg { const char *name; lua_CFunction func; }; -LUA_API void luaL_openlib (lua_State *L, const struct luaL_reg *l, int n); -LUA_API void luaL_argerror (lua_State *L, int numarg, const char *extramsg); -LUA_API const char *luaL_check_lstr (lua_State *L, int numArg, size_t *len); -LUA_API const char *luaL_opt_lstr (lua_State *L, int numArg, const char *def, +LUALIB_API void luaL_openlib (lua_State *L, const struct luaL_reg *l, int n); +LUALIB_API void luaL_argerror (lua_State *L, int numarg, const char *extramsg); +LUALIB_API const char *luaL_check_lstr (lua_State *L, int numArg, size_t *len); +LUALIB_API const char *luaL_opt_lstr (lua_State *L, int numArg, const char *def, size_t *len); -LUA_API double luaL_check_number (lua_State *L, int numArg); -LUA_API double luaL_opt_number (lua_State *L, int numArg, double def); +LUALIB_API double luaL_check_number (lua_State *L, int numArg); +LUALIB_API double luaL_opt_number (lua_State *L, int numArg, double def); -LUA_API void luaL_checkstack (lua_State *L, int space, const char *msg); -LUA_API void luaL_checktype (lua_State *L, int narg, int t); -LUA_API void luaL_checkany (lua_State *L, int narg); +LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *msg); +LUALIB_API void luaL_checktype (lua_State *L, int narg, int t); +LUALIB_API void luaL_checkany (lua_State *L, int narg); -LUA_API void luaL_verror (lua_State *L, const char *fmt, ...); -LUA_API int luaL_findstring (const char *name, const char *const list[]); +LUALIB_API void luaL_verror (lua_State *L, const char *fmt, ...); +LUALIB_API int luaL_findstring (const char *name, const char *const list[]); @@ -80,12 +85,12 @@ typedef struct luaL_Buffer { #define luaL_addsize(B,n) ((B)->p += (n)) -LUA_API void luaL_buffinit (lua_State *L, luaL_Buffer *B); -LUA_API char *luaL_prepbuffer (luaL_Buffer *B); -LUA_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l); -LUA_API void luaL_addstring (luaL_Buffer *B, const char *s); -LUA_API void luaL_addvalue (luaL_Buffer *B); -LUA_API void luaL_pushresult (luaL_Buffer *B); +LUALIB_API void luaL_buffinit (lua_State *L, luaL_Buffer *B); +LUALIB_API char *luaL_prepbuffer (luaL_Buffer *B); +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_addvalue (luaL_Buffer *B); +LUALIB_API void luaL_pushresult (luaL_Buffer *B); /* }====================================================== */ diff --git a/lbaselib.c b/lbaselib.c index bb5a0d7f..e588f0c3 100644 --- a/lbaselib.c +++ b/lbaselib.c @@ -1,5 +1,5 @@ /* -** $Id: lbaselib.c,v 1.13 2000/10/20 16:57:42 roberto Exp roberto $ +** $Id: lbaselib.c,v 1.14 2000/10/24 19:19:15 roberto Exp roberto $ ** Basic library ** See Copyright Notice in lua.h */ @@ -639,7 +639,7 @@ static const struct luaL_reg base_funcs[] = { -LUA_API void lua_baselibopen (lua_State *L) { +LUALIB_API void lua_baselibopen (lua_State *L) { luaL_openl(L, base_funcs); lua_pushstring(L, LUA_VERSION); lua_setglobal(L, "_VERSION"); diff --git a/ldblib.c b/ldblib.c index 02dca507..a6148ae6 100644 --- a/ldblib.c +++ b/ldblib.c @@ -1,5 +1,5 @@ /* -** $Id: ldblib.c,v 1.25 2000/10/26 18:44:26 roberto Exp roberto $ +** $Id: ldblib.c,v 1.26 2000/10/26 19:04:22 roberto Exp roberto $ ** Interface from Lua to its debug API ** See Copyright Notice in lua.h */ @@ -179,7 +179,7 @@ static const struct luaL_reg dblib[] = { }; -LUA_API void lua_dblibopen (lua_State *L) { +LUALIB_API void lua_dblibopen (lua_State *L) { luaL_openl(L, dblib); } diff --git a/liolib.c b/liolib.c index d71965a6..6693df33 100644 --- a/liolib.c +++ b/liolib.c @@ -1,5 +1,5 @@ /* -** $Id: liolib.c,v 1.88 2000/10/26 12:47:05 roberto Exp roberto $ +** $Id: liolib.c,v 1.89 2000/10/26 12:53:55 roberto Exp roberto $ ** Standard I/O (and system) library ** See Copyright Notice in lua.h */ @@ -712,7 +712,7 @@ static void openwithcontrol (lua_State *L) { } -LUA_API void lua_iolibopen (lua_State *L) { +LUALIB_API void lua_iolibopen (lua_State *L) { luaL_openl(L, iolib); openwithcontrol(L); } diff --git a/lmathlib.c b/lmathlib.c index 6551564a..19e0c5ac 100644 --- a/lmathlib.c +++ b/lmathlib.c @@ -1,5 +1,5 @@ /* -** $Id: lmathlib.c,v 1.29 2000/10/20 16:39:03 roberto Exp roberto $ +** $Id: lmathlib.c,v 1.30 2000/10/26 12:47:05 roberto Exp roberto $ ** Standard mathematical library ** See Copyright Notice in lua.h */ @@ -228,7 +228,7 @@ static const struct luaL_reg mathlib[] = { /* ** Open math library */ -LUA_API void lua_mathlibopen (lua_State *L) { +LUALIB_API void lua_mathlibopen (lua_State *L) { luaL_openl(L, mathlib); lua_pushcfunction(L, math_pow); lua_settagmethod(L, LUA_TNUMBER, "pow"); diff --git a/lstrlib.c b/lstrlib.c index a82f1b8f..6013de24 100644 --- a/lstrlib.c +++ b/lstrlib.c @@ -1,5 +1,5 @@ /* -** $Id: lstrlib.c,v 1.54 2000/10/05 12:14:08 roberto Exp roberto $ +** $Id: lstrlib.c,v 1.55 2000/10/20 16:39:03 roberto Exp roberto $ ** Standard library for string operations and pattern-matching ** See Copyright Notice in lua.h */ @@ -616,6 +616,6 @@ static const struct luaL_reg strlib[] = { /* ** Open string library */ -LUA_API void lua_strlibopen (lua_State *L) { +LUALIB_API void lua_strlibopen (lua_State *L) { luaL_openl(L, strlib); } diff --git a/lualib.h b/lualib.h index 68fa86b3..d39a71bc 100644 --- a/lualib.h +++ b/lualib.h @@ -1,5 +1,5 @@ /* -** $Id: lualib.h,v 1.12 2000/09/12 13:46:59 roberto Exp roberto $ +** $Id: lualib.h,v 1.13 2000/10/20 16:39:03 roberto Exp roberto $ ** Lua standard libraries ** See Copyright Notice in lua.h */ @@ -11,13 +11,18 @@ #include "lua.h" +#ifndef LUALIB_API +#define LUALIB_API extern +#endif + + #define LUA_ALERT "_ALERT" -LUA_API void lua_baselibopen (lua_State *L); -LUA_API void lua_iolibopen (lua_State *L); -LUA_API void lua_strlibopen (lua_State *L); -LUA_API void lua_mathlibopen (lua_State *L); -LUA_API void lua_dblibopen (lua_State *L); +LUALIB_API void lua_baselibopen (lua_State *L); +LUALIB_API void lua_iolibopen (lua_State *L); +LUALIB_API void lua_strlibopen (lua_State *L); +LUALIB_API void lua_mathlibopen (lua_State *L); +LUALIB_API void lua_dblibopen (lua_State *L);