From 18ea2eff80c720632cb6a89d560c5cce2377df06 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 2 May 1995 15:43:03 -0300 Subject: calls to "lua_reportbug" changed to "lua_error", since "lua_reportbug" is only an internal function to build debug information --- fallback.c | 13 ++++++------- hash.c | 5 ++--- inout.c | 19 ++++++------------- inout.h | 8 ++++++-- opcode.c | 9 +++++++-- table.c | 14 +++++++------- 6 files changed, 34 insertions(+), 34 deletions(-) diff --git a/fallback.c b/fallback.c index dee8dfb3..7fff6690 100644 --- a/fallback.c +++ b/fallback.c @@ -3,7 +3,7 @@ ** TecCGraf - PUC-Rio */ -char *rcs_fallback="$Id: fallback.c,v 1.10 1994/12/20 21:20:36 roberto Exp $"; +char *rcs_fallback="$Id: fallback.c,v 1.11 1995/02/06 19:34:03 roberto Exp roberto $"; #include #include @@ -11,7 +11,6 @@ char *rcs_fallback="$Id: fallback.c,v 1.10 1994/12/20 21:20:36 roberto Exp $"; #include "mem.h" #include "fallback.h" #include "opcode.h" -#include "inout.h" #include "lua.h" @@ -84,31 +83,31 @@ static void indexFB (void) static void gettableFB (void) { - lua_reportbug("indexed expression not a table"); + lua_error("indexed expression not a table"); } static void arithFB (void) { - lua_reportbug("unexpected type at conversion to number"); + lua_error("unexpected type at conversion to number"); } static void concatFB (void) { - lua_reportbug("unexpected type at conversion to string"); + lua_error("unexpected type at conversion to string"); } static void orderFB (void) { - lua_reportbug("unexpected type at comparison"); + lua_error("unexpected type at comparison"); } static void GDFB (void) { } static void funcFB (void) { - lua_reportbug("call expression not a function"); + lua_error("call expression not a function"); } diff --git a/hash.c b/hash.c index 88303b43..22e7d547 100644 --- a/hash.c +++ b/hash.c @@ -3,14 +3,13 @@ ** hash manager for lua */ -char *rcs_hash="$Id: hash.c,v 2.23 1995/01/12 14:19:04 roberto Exp $"; +char *rcs_hash="$Id: hash.c,v 2.24 1995/02/06 19:34:03 roberto Exp roberto $"; #include #include "mem.h" #include "opcode.h" #include "hash.h" -#include "inout.h" #include "table.h" #include "lua.h" @@ -54,7 +53,7 @@ static Word hashindex (Hash *t, Object *ref) /* hash function */ switch (tag(ref)) { case LUA_T_NIL: - lua_reportbug ("unexpected type to index table"); + lua_error ("unexpected type to index table"); return -1; /* UNREACHEABLE */ case LUA_T_NUMBER: return (((Word)nvalue(ref))%nhash(t)); diff --git a/inout.c b/inout.c index b6c4e768..9ea0fd82 100644 --- a/inout.c +++ b/inout.c @@ -5,7 +5,7 @@ ** Also provides some predefined lua functions. */ -char *rcs_inout="$Id: inout.c,v 2.17 1995/03/17 20:27:11 celes Exp roberto $"; +char *rcs_inout="$Id: inout.c,v 2.18 1995/03/17 20:42:20 roberto Exp roberto $"; #include #include @@ -26,11 +26,7 @@ Word lua_debugline = 0; /* Internal variables */ - -#ifndef MAXFUNCSTACK -#define MAXFUNCSTACK 100 -#endif - + typedef struct FuncStackNode { struct FuncStackNode *next; char *file; @@ -124,7 +120,7 @@ void lua_pushfunction (char *file, Word function) FuncStackNode *newNode; if (nfuncstack++ >= MAXFUNCSTACK) { - lua_reportbug("function stack overflow"); + lua_error("function stack overflow"); } newNode = new(FuncStackNode); newNode->function = function; @@ -149,12 +145,10 @@ void lua_popfunction (void) } /* -** Report bug building a message and sending it to lua_error function. +** Report bug building a message. */ -void lua_reportbug (char *s) +void luaI_reportbug (char *msg, int size) { - char msg[MAXFUNCSTACK*80]; - strcpy (msg, s); if (lua_debugline != 0) { if (funcStack) @@ -179,7 +173,6 @@ void lua_reportbug (char *s) lua_debugline, lua_filename()); } } - lua_error (msg); } @@ -292,6 +285,6 @@ void luaI_error (void) { char *s = lua_getstring(lua_getparam(1)); if (s == NULL) s = "(no message)"; - lua_reportbug(s); + lua_error(s); } diff --git a/inout.h b/inout.h index 059ac0e8..ae84f133 100644 --- a/inout.h +++ b/inout.h @@ -1,5 +1,5 @@ /* -** $Id: inout.h,v 1.6 1994/11/21 21:41:09 roberto Stab roberto $ +** $Id: inout.h,v 1.7 1994/12/20 21:20:36 roberto Exp roberto $ */ @@ -8,6 +8,10 @@ #include "types.h" +#ifndef MAXFUNCSTACK +#define MAXFUNCSTACK 100 +#endif + extern Word lua_linenumber; extern Bool lua_debug; extern Word lua_debugline; @@ -18,7 +22,7 @@ char *lua_openstring (char *s); void lua_closestring (void); void lua_pushfunction (char *file, Word function); void lua_popfunction (void); -void lua_reportbug (char *s); +void luaI_reportbug (char *s, int size); void lua_internaldofile (void); void lua_internaldostring (void); diff --git a/opcode.c b/opcode.c index 40147af1..152970aa 100644 --- a/opcode.c +++ b/opcode.c @@ -3,7 +3,7 @@ ** TecCGraf - PUC-Rio */ -char *rcs_opcode="$Id: opcode.c,v 3.35 1995/02/10 12:51:29 roberto Exp celes $"; +char *rcs_opcode="$Id: opcode.c,v 3.36 1995/04/11 17:56:30 celes Exp roberto $"; #include #include @@ -68,9 +68,14 @@ Object *luaI_Address (lua_Object o) ** Error messages */ +#define MAXMESSAGE MAXFUNCSTACK*80 + static void lua_message (char *s) { - lua_pushstring(s); + char msg[MAXMESSAGE]; + strcpy (msg, s); + luaI_reportbug(msg, MAXMESSAGE-strlen(s)); + lua_pushstring(msg); do_call(&luaI_fallBacks[FB_ERROR].function, (top-stack)-1, 0, (top-stack)-1); } diff --git a/table.c b/table.c index ac471124..75fa21f2 100644 --- a/table.c +++ b/table.c @@ -3,7 +3,7 @@ ** Module to control static tables */ -char *rcs_table="$Id: table.c,v 2.27 1995/01/13 22:11:12 roberto Exp celes $"; +char *rcs_table="$Id: table.c,v 2.28 1995/01/18 20:15:54 celes Exp roberto $"; #include @@ -11,8 +11,8 @@ char *rcs_table="$Id: table.c,v 2.27 1995/01/13 22:11:12 roberto Exp celes $"; #include "opcode.h" #include "tree.h" #include "hash.h" -#include "inout.h" #include "table.h" +#include "inout.h" #include "lua.h" #include "fallback.h" @@ -228,14 +228,14 @@ static void lua_nextvar (void) TreeNode *next; lua_Object o = lua_getparam(1); if (o == LUA_NOOBJECT) - lua_reportbug("too few arguments to function `nextvar'"); + lua_error("too few arguments to function `nextvar'"); if (lua_getparam(2) != LUA_NOOBJECT) - lua_reportbug("too many arguments to function `nextvar'"); + lua_error("too many arguments to function `nextvar'"); if (lua_isnil(o)) varname = NULL; else if (!lua_isstring(o)) { - lua_reportbug("incorrect argument to function `nextvar'"); + lua_error("incorrect argument to function `nextvar'"); return; /* to avoid warnings */ } else @@ -262,7 +262,7 @@ static void setglobal (void) lua_Object name = lua_getparam(1); lua_Object value = lua_getparam(2); if (!lua_isstring(name)) - lua_reportbug("incorrect argument to function `setglobal'"); + lua_error("incorrect argument to function `setglobal'"); lua_pushobject(value); lua_storeglobal(lua_getstring(name)); } @@ -272,6 +272,6 @@ static void getglobal (void) { lua_Object name = lua_getparam(1); if (!lua_isstring(name)) - lua_reportbug("incorrect argument to function `getglobal'"); + lua_error("incorrect argument to function `getglobal'"); lua_pushobject(lua_getglobal(lua_getstring(name))); } -- cgit v1.2.3-55-g6feb