aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-06-20 17:40:09 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2002-06-20 17:40:09 -0300
commitb449a5e574874f053859db3da18599b8b968e4e9 (patch)
tree2b7fd07fcc8fd5daa8036adfb40e6a96e6183339
parente572dffa1520f0331a0842a069bb17e2730c6575 (diff)
downloadlua-b449a5e574874f053859db3da18599b8b968e4e9.tar.gz
lua-b449a5e574874f053859db3da18599b8b968e4e9.tar.bz2
lua-b449a5e574874f053859db3da18599b8b968e4e9.zip
more robust when printing error messages
-rw-r--r--lua.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/lua.c b/lua.c
index 9b8f584e..9bb4c1ab 100644
--- a/lua.c
+++ b/lua.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lua.c,v 1.91 2002/06/18 17:12:05 roberto Exp roberto $ 2** $Id: lua.c,v 1.92 2002/06/18 17:43:49 roberto Exp roberto $
3** Lua stand-alone interpreter 3** Lua stand-alone interpreter
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -73,9 +73,14 @@ static void report (int status) {
73 lua_remove(L, -2); /* lease only traceback on stack */ 73 lua_remove(L, -2); /* lease only traceback on stack */
74 } 74 }
75 lua_getglobal(L, "_ALERT"); 75 lua_getglobal(L, "_ALERT");
76 lua_pushvalue(L, -2); 76 if (lua_isfunction(L, -1)) {
77 lua_pcall(L, 1, 0); 77 lua_pushvalue(L, -2);
78 lua_pop(L, 1); 78 lua_pcall(L, 1, 0);
79 }
80 else {
81 lua_pop(L, 1);
82 fprintf(stderr, "%s", lua_tostring(L, -1));
83 }
79 } 84 }
80} 85}
81 86