From 500cfc3746f6050e679144c759ae878ff34d4db8 Mon Sep 17 00:00:00 2001 From: Simon Robertshaw Date: Sun, 31 Jul 2011 12:26:51 +0100 Subject: [PATCH] Lua has a garbage collector, it may dispose of strings while we're using them, make throw_error a little more safe --- src/luaconsole.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/luaconsole.c b/src/luaconsole.c index 02ec11b8b..4c76f7121 100644 --- a/src/luaconsole.c +++ b/src/luaconsole.c @@ -143,9 +143,14 @@ int luatpt_test(lua_State* l) int luatpt_error(lua_State* l) { char *error = ""; - error = luaL_optstring(l, 1, 0); - error_ui(vid_buf, 0, error); - return 0; + error = mystrdup(luaL_optstring(l, 1, "Error text")); + if(vid_buf!=NULL){ + error_ui(vid_buf, 0, error); + free(error); + return 0; + } + free(error); + return luaL_error(l, "Screen buffer does not exist"); } int luatpt_drawtext(lua_State* l) {