aboutsummaryrefslogtreecommitdiff
path: root/lauxlib.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-02-23 14:17:25 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2001-02-23 14:17:25 -0300
commit39b79783297bee79db9853b63d199e120a009a8f (patch)
treec738c621c4c28d8822c2f785400786301985273b /lauxlib.c
parentd164e2294f73d8e69f00d95a66014514b2dd0ec0 (diff)
downloadlua-39b79783297bee79db9853b63d199e120a009a8f.tar.gz
lua-39b79783297bee79db9853b63d199e120a009a8f.tar.bz2
lua-39b79783297bee79db9853b63d199e120a009a8f.zip
first (big) step to support wide chars
Diffstat (limited to 'lauxlib.c')
-rw-r--r--lauxlib.c43
1 files changed, 22 insertions, 21 deletions
diff --git a/lauxlib.c b/lauxlib.c
index d36424d2..5e9f4e89 100644
--- a/lauxlib.c
+++ b/lauxlib.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lauxlib.c,v 1.46 2001/02/02 19:02:40 roberto Exp roberto $ 2** $Id: lauxlib.c,v 1.47 2001/02/14 17:04:11 roberto Exp roberto $
3** Auxiliary functions for building Lua libraries 3** Auxiliary functions for building Lua libraries
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -18,10 +18,11 @@
18 18
19#include "lauxlib.h" 19#include "lauxlib.h"
20#include "luadebug.h" 20#include "luadebug.h"
21#include "lualib.h"
21 22
22 23
23 24
24LUALIB_API int luaL_findstring (const char *name, const char *const list[]) { 25LUALIB_API int luaL_findstring (const l_char *name, const l_char *const list[]) {
25 int i; 26 int i;
26 for (i=0; list[i]; i++) 27 for (i=0; list[i]; i++)
27 if (strcmp(list[i], name) == 0) 28 if (strcmp(list[i], name) == 0)
@@ -29,20 +30,20 @@ LUALIB_API int luaL_findstring (const char *name, const char *const list[]) {
29 return -1; /* name not found */ 30 return -1; /* name not found */
30} 31}
31 32
32LUALIB_API void luaL_argerror (lua_State *L, int narg, const char *extramsg) { 33LUALIB_API void luaL_argerror (lua_State *L, int narg, const l_char *extramsg) {
33 lua_Debug ar; 34 lua_Debug ar;
34 lua_getstack(L, 0, &ar); 35 lua_getstack(L, 0, &ar);
35 lua_getinfo(L, "n", &ar); 36 lua_getinfo(L, l_s("n"), &ar);
36 if (ar.name == NULL) 37 if (ar.name == NULL)
37 ar.name = "?"; 38 ar.name = l_s("?");
38 luaL_verror(L, "bad argument #%d to `%.50s' (%.100s)", 39 luaL_verror(L, l_s("bad argument #%d to `%.50s' (%.100s)"),
39 narg, ar.name, extramsg); 40 narg, ar.name, extramsg);
40} 41}
41 42
42 43
43static void type_error (lua_State *L, int narg, const char *tname) { 44static void type_error (lua_State *L, int narg, const l_char *tname) {
44 char buff[80]; 45 l_char buff[80];
45 sprintf(buff, "%.25s expected, got %.25s", tname, lua_xtype(L, narg)); 46 sprintf(buff, l_s("%.25s expected, got %.25s"), tname, lua_xtype(L, narg));
46 luaL_argerror(L, narg, buff); 47 luaL_argerror(L, narg, buff);
47} 48}
48 49
@@ -52,9 +53,9 @@ static void tag_error (lua_State *L, int narg, int tag) {
52} 53}
53 54
54 55
55LUALIB_API void luaL_checkstack (lua_State *L, int space, const char *mes) { 56LUALIB_API void luaL_checkstack (lua_State *L, int space, const l_char *mes) {
56 if (space > lua_stackspace(L)) 57 if (space > lua_stackspace(L))
57 luaL_verror(L, "stack overflow (%.30s)", mes); 58 luaL_verror(L, l_s("stack overflow (%.30s)"), mes);
58} 59}
59 60
60 61
@@ -66,27 +67,27 @@ LUALIB_API void luaL_checktype(lua_State *L, int narg, int t) {
66 67
67LUALIB_API void luaL_checkany (lua_State *L, int narg) { 68LUALIB_API void luaL_checkany (lua_State *L, int narg) {
68 if (lua_type(L, narg) == LUA_TNONE) 69 if (lua_type(L, narg) == LUA_TNONE)
69 luaL_argerror(L, narg, "value expected"); 70 luaL_argerror(L, narg, l_s("value expected"));
70} 71}
71 72
72 73
73LUALIB_API void *luaL_check_userdata (lua_State *L, int narg, 74LUALIB_API void *luaL_check_userdata (lua_State *L, int narg,
74 const char *name) { 75 const l_char *name) {
75 if (strcmp(lua_xtype(L, narg), name) != 0) 76 if (strcmp(lua_xtype(L, narg), name) != 0)
76 type_error(L, narg, name); 77 type_error(L, narg, name);
77 return lua_touserdata(L, narg); 78 return lua_touserdata(L, narg);
78} 79}
79 80
80 81
81LUALIB_API const char *luaL_check_lstr (lua_State *L, int narg, size_t *len) { 82LUALIB_API const l_char *luaL_check_lstr (lua_State *L, int narg, size_t *len) {
82 const char *s = lua_tostring(L, narg); 83 const l_char *s = lua_tostring(L, narg);
83 if (!s) tag_error(L, narg, LUA_TSTRING); 84 if (!s) tag_error(L, narg, LUA_TSTRING);
84 if (len) *len = lua_strlen(L, narg); 85 if (len) *len = lua_strlen(L, narg);
85 return s; 86 return s;
86} 87}
87 88
88 89
89LUALIB_API const char *luaL_opt_lstr (lua_State *L, int narg, const char *def, size_t *len) { 90LUALIB_API const l_char *luaL_opt_lstr (lua_State *L, int narg, const l_char *def, size_t *len) {
90 if (lua_isnull(L, narg)) { 91 if (lua_isnull(L, narg)) {
91 if (len) 92 if (len)
92 *len = (def ? strlen(def) : 0); 93 *len = (def ? strlen(def) : 0);
@@ -117,8 +118,8 @@ LUALIB_API void luaL_openlib (lua_State *L, const luaL_reg *l, int n) {
117} 118}
118 119
119 120
120LUALIB_API void luaL_verror (lua_State *L, const char *fmt, ...) { 121LUALIB_API void luaL_verror (lua_State *L, const l_char *fmt, ...) {
121 char buff[500]; 122 l_char buff[500];
122 va_list argp; 123 va_list argp;
123 va_start(argp, fmt); 124 va_start(argp, fmt);
124 vsprintf(buff, fmt, argp); 125 vsprintf(buff, fmt, argp);
@@ -172,20 +173,20 @@ static void adjuststack (luaL_Buffer *B) {
172} 173}
173 174
174 175
175LUALIB_API char *luaL_prepbuffer (luaL_Buffer *B) { 176LUALIB_API l_char *luaL_prepbuffer (luaL_Buffer *B) {
176 if (emptybuffer(B)) 177 if (emptybuffer(B))
177 adjuststack(B); 178 adjuststack(B);
178 return B->buffer; 179 return B->buffer;
179} 180}
180 181
181 182
182LUALIB_API void luaL_addlstring (luaL_Buffer *B, const char *s, size_t l) { 183LUALIB_API void luaL_addlstring (luaL_Buffer *B, const l_char *s, size_t l) {
183 while (l--) 184 while (l--)
184 luaL_putchar(B, *s++); 185 luaL_putchar(B, *s++);
185} 186}
186 187
187 188
188LUALIB_API void luaL_addstring (luaL_Buffer *B, const char *s) { 189LUALIB_API void luaL_addstring (luaL_Buffer *B, const l_char *s) {
189 luaL_addlstring(B, s, strlen(s)); 190 luaL_addlstring(B, s, strlen(s));
190} 191}
191 192