From 39b79783297bee79db9853b63d199e120a009a8f Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy <roberto@inf.puc-rio.br> Date: Fri, 23 Feb 2001 14:17:25 -0300 Subject: first (big) step to support wide chars --- ldblib.c | 64 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'ldblib.c') diff --git a/ldblib.c b/ldblib.c index 73024335..906a0754 100644 --- a/ldblib.c +++ b/ldblib.c @@ -1,5 +1,5 @@ /* -** $Id: ldblib.c,v 1.31 2001/01/10 16:58:11 roberto Exp roberto $ +** $Id: ldblib.c,v 1.32 2001/02/02 19:02:40 roberto Exp roberto $ ** Interface from Lua to its debug API ** See Copyright Notice in lua.h */ @@ -17,14 +17,14 @@ -static void settabss (lua_State *L, const char *i, const char *v) { +static void settabss (lua_State *L, const l_char *i, const l_char *v) { lua_pushstring(L, i); lua_pushstring(L, v); lua_settable(L, -3); } -static void settabsi (lua_State *L, const char *i, int v) { +static void settabsi (lua_State *L, const l_char *i, int v) { lua_pushstring(L, i); lua_pushnumber(L, v); lua_settable(L, -3); @@ -33,8 +33,8 @@ static void settabsi (lua_State *L, const char *i, int v) { static int getinfo (lua_State *L) { lua_Debug ar; - const char *options = luaL_opt_string(L, 2, "flnSu"); - char buff[20]; + const l_char *options = luaL_opt_string(L, 2, l_s("flnSu")); + l_char buff[20]; if (lua_isnumber(L, 1)) { if (!lua_getstack(L, (int)lua_tonumber(L, 1), &ar)) { lua_pushnil(L); /* level out of range */ @@ -43,35 +43,35 @@ static int getinfo (lua_State *L) { } else if (lua_isfunction(L, 1)) { lua_pushvalue(L, 1); - sprintf(buff, ">%.10s", options); + sprintf(buff, l_s(">%.10s"), options); options = buff; } else - luaL_argerror(L, 1, "function or level expected"); + luaL_argerror(L, 1, l_s("function or level expected")); if (!lua_getinfo(L, options, &ar)) - luaL_argerror(L, 2, "invalid option"); + luaL_argerror(L, 2, l_s("invalid option")); lua_newtable(L); for (; *options; options++) { switch (*options) { - case 'S': - settabss(L, "source", ar.source); + case l_c('S'): + settabss(L, l_s("source"), ar.source); if (ar.source) - settabss(L, "short_src", ar.short_src); - settabsi(L, "linedefined", ar.linedefined); - settabss(L, "what", ar.what); + settabss(L, l_s("short_src"), ar.short_src); + settabsi(L, l_s("linedefined"), ar.linedefined); + settabss(L, l_s("what"), ar.what); break; - case 'l': - settabsi(L, "currentline", ar.currentline); + case l_c('l'): + settabsi(L, l_s("currentline"), ar.currentline); break; - case 'u': - settabsi(L, "nups", ar.nups); + case l_c('u'): + settabsi(L, l_s("nups"), ar.nups); break; - case 'n': - settabss(L, "name", ar.name); - settabss(L, "namewhat", ar.namewhat); + case l_c('n'): + settabss(L, l_s("name"), ar.name); + settabss(L, l_s("namewhat"), ar.namewhat); break; - case 'f': - lua_pushliteral(L, "func"); + case l_c('f'): + lua_pushliteral(L, l_s("func")); lua_pushvalue(L, -3); lua_settable(L, -3); break; @@ -83,9 +83,9 @@ static int getinfo (lua_State *L) { static int getlocal (lua_State *L) { lua_Debug ar; - const char *name; + const l_char *name; if (!lua_getstack(L, luaL_check_int(L, 1), &ar)) /* level out of range? */ - luaL_argerror(L, 1, "level out of range"); + luaL_argerror(L, 1, l_s("level out of range")); name = lua_getlocal(L, &ar, luaL_check_int(L, 2)); if (name) { lua_pushstring(L, name); @@ -102,7 +102,7 @@ static int getlocal (lua_State *L) { static int setlocal (lua_State *L) { lua_Debug ar; if (!lua_getstack(L, luaL_check_int(L, 1), &ar)) /* level out of range? */ - luaL_argerror(L, 1, "level out of range"); + luaL_argerror(L, 1, l_s("level out of range")); luaL_checkany(L, 3); lua_pushstring(L, lua_setlocal(L, &ar, luaL_check_int(L, 2))); return 1; @@ -111,7 +111,7 @@ static int setlocal (lua_State *L) { /* dummy variables (to define unique addresses) */ -static const char key1[] = "ab"; +static const l_char key1[] = l_s("ab"); #define KEY_CALLHOOK ((void *)key1) #define KEY_LINEHOOK ((void *)(key1+1)) @@ -150,7 +150,7 @@ static void sethook (lua_State *L, void *key, lua_Hook hook, else if (lua_isfunction(L, 1)) (*sethookf)(L, hook); else - luaL_argerror(L, 1, "function expected"); + luaL_argerror(L, 1, l_s("function expected")); lua_getregistry(L); lua_pushuserdata(L, key); lua_pushvalue(L, -1); /* dup key */ @@ -174,11 +174,11 @@ static int setlinehook (lua_State *L) { static const luaL_reg dblib[] = { - {"getlocal", getlocal}, - {"getinfo", getinfo}, - {"setcallhook", setcallhook}, - {"setlinehook", setlinehook}, - {"setlocal", setlocal} + {l_s("getlocal"), getlocal}, + {l_s("getinfo"), getinfo}, + {l_s("setcallhook"), setcallhook}, + {l_s("setlinehook"), setlinehook}, + {l_s("setlocal"), setlocal} }; -- cgit v1.2.3-55-g6feb