From 85dcb411a8454de0bc1c2c60a24af1588e436c23 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 2 May 2002 14:12:27 -0300 Subject: [PATCH] all textual errors go through `luaL_verror' --- lbaselib.c | 10 +++++----- liolib.c | 12 ++++++------ lmathlib.c | 4 ++-- lstrlib.c | 24 ++++++++++++------------ ltablib.c | 6 +++--- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/lbaselib.c b/lbaselib.c index 6ec250cb..50bdc7f7 100644 --- a/lbaselib.c +++ b/lbaselib.c @@ -1,5 +1,5 @@ /* -** $Id: lbaselib.c,v 1.69 2002/04/22 14:40:23 roberto Exp roberto $ +** $Id: lbaselib.c,v 1.70 2002/05/01 20:40:42 roberto Exp roberto $ ** Basic library ** See Copyright Notice in lua.h */ @@ -72,7 +72,7 @@ static int luaB_print (lua_State *L) { lua_rawcall(L, 1, 1); s = lua_tostring(L, -1); /* get result */ if (s == NULL) - lua_error(L, "`tostring' must return a string to `print'"); + luaL_verror(L, "`tostring' must return a string to `print'"); if (i>1) fputs("\t", stdout); fputs(s, stdout); lua_pop(L, 1); /* pop result */ @@ -372,7 +372,7 @@ static int luaB_require (lua_State *L) { lua_pushvalue(L, 1); lua_setglobal(L, "_REQUIREDNAME"); lua_getglobal(L, REQTAB); - if (!lua_istable(L, 2)) lua_error(L, REQTAB " is not a table"); + if (!lua_istable(L, 2)) luaL_verror(L, REQTAB " is not a table"); path = getpath(L); lua_pushvalue(L, 1); /* check package's name in book-keeping table */ lua_gettable(L, 2); @@ -399,7 +399,7 @@ static int luaB_require (lua_State *L) { lua_tostring(L, 1), lua_tostring(L, 3)); } default: { - lua_error(L, "error loading package"); + luaL_verror(L, "error loading package"); return 0; /* to avoid warnings */ } } @@ -466,7 +466,7 @@ static int luaB_coroutine (lua_State *L) { luaL_arg_check(L, lua_isfunction(L, 1) && !lua_iscfunction(L, 1), 1, "Lua function expected"); NL = lua_newthread(L); - if (NL == NULL) lua_error(L, "unable to create new thread"); + if (NL == NULL) luaL_verror(L, "unable to create new thread"); /* move function and arguments from L to NL */ for (i=0; i= ms->level || ms->capture[l].len == CAP_UNFINISHED) - lua_error(ms->L, "invalid capture index"); + luaL_verror(ms->L, "invalid capture index"); return l; } @@ -179,7 +179,7 @@ static int capture_to_close (MatchState *ms) { int level = ms->level; for (level--; level>=0; level--) if (ms->capture[level].len == CAP_UNFINISHED) return level; - lua_error(ms->L, "invalid pattern capture"); + luaL_verror(ms->L, "invalid pattern capture"); return 0; /* to avoid warnings */ } @@ -188,13 +188,13 @@ static const char *luaI_classend (MatchState *ms, const char *p) { switch (*p++) { case ESC: if (*p == '\0') - lua_error(ms->L, "malformed pattern (ends with `%')"); + luaL_verror(ms->L, "malformed pattern (ends with `%')"); return p+1; case '[': if (*p == '^') p++; do { /* look for a `]' */ if (*p == '\0') - lua_error(ms->L, "malformed pattern (missing `]')"); + luaL_verror(ms->L, "malformed pattern (missing `]')"); if (*(p++) == ESC && *p != '\0') p++; /* skip escapes (e.g. `%]') */ } while (*p != ']'); @@ -267,7 +267,7 @@ static const char *match (MatchState *ms, const char *s, const char *p); static const char *matchbalance (MatchState *ms, const char *s, const char *p) { if (*p == 0 || *(p+1) == 0) - lua_error(ms->L, "unbalanced pattern"); + luaL_verror(ms->L, "unbalanced pattern"); if (*s != *p) return NULL; else { int b = *p; @@ -316,7 +316,7 @@ static const char *start_capture (MatchState *ms, const char *s, const char *p, int what) { const char *res; int level = ms->level; - if (level >= MAX_CAPTURES) lua_error(ms->L, "too many captures"); + if (level >= MAX_CAPTURES) luaL_verror(ms->L, "too many captures"); ms->capture[level].init = s; ms->capture[level].len = what; ms->level = level+1; @@ -426,7 +426,7 @@ static const char *lmemfind (const char *s1, size_t l1, static void push_onecapture (MatchState *ms, int i) { int l = ms->capture[i].len; - if (l == CAP_UNFINISHED) lua_error(ms->L, "unfinished capture"); + if (l == CAP_UNFINISHED) luaL_verror(ms->L, "unfinished capture"); if (l == CAP_POSITION) lua_pushnumber(ms->L, ms->capture[i].init - ms->src_init + 1); else @@ -636,9 +636,9 @@ static const char *scanformat (lua_State *L, const char *strfrmt, if (isdigit(uchar(*p))) p++; /* (2 digits at most) */ } if (isdigit(uchar(*p))) - lua_error(L, "invalid format (width or precision too long)"); + luaL_verror(L, "invalid format (width or precision too long)"); if (p-strfrmt+2 > MAX_FORMAT) /* +2 to include `%' and the specifier */ - lua_error(L, "invalid format (too long)"); + luaL_verror(L, "invalid format (too long)"); form[0] = '%'; strncpy(form+1, strfrmt, p-strfrmt+1); form[p-strfrmt+2] = 0; @@ -663,7 +663,7 @@ static int str_format (lua_State *L) { char buff[MAX_ITEM]; /* to store the formatted item */ int hasprecision = 0; if (isdigit(uchar(*strfrmt)) && *(strfrmt+1) == '$') - lua_error(L, "obsolete `format' option (d$)"); + luaL_verror(L, "obsolete `format' option (d$)"); arg++; strfrmt = scanformat(L, strfrmt, form, &hasprecision); switch (*strfrmt++) { @@ -696,7 +696,7 @@ static int str_format (lua_State *L) { } } default: /* also treat cases `pnLlh' */ - lua_error(L, "invalid option in `format'"); + luaL_verror(L, "invalid option in `format'"); } luaL_addlstring(&b, buff, strlen(buff)); } diff --git a/ltablib.c b/ltablib.c index 9d4d5910..a5e9148d 100644 --- a/ltablib.c +++ b/ltablib.c @@ -1,5 +1,5 @@ /* -** $Id: ltablib.c,v 1.1 2002/04/09 20:19:06 roberto Exp roberto $ +** $Id: ltablib.c,v 1.2 2002/04/12 19:57:29 roberto Exp roberto $ ** Library for Table Manipulation ** See Copyright Notice in lua.h */ @@ -171,12 +171,12 @@ static void auxsort (lua_State *L, int l, int u) { for (;;) { /* invariant: a[l..i] <= P <= a[j..u] */ /* repeat ++i until a[i] >= P */ while (lua_rawgeti(L, 1, ++i), sort_comp(L, -1, -2)) { - if (i>u) lua_error(L, "invalid order function for sorting"); + if (i>u) luaL_verror(L, "invalid order function for sorting"); lua_pop(L, 1); /* remove a[i] */ } /* repeat --j until a[j] <= P */ while (lua_rawgeti(L, 1, --j), sort_comp(L, -3, -1)) { - if (j