Merge "pbx_lua: Support displaying lua error message if no debug table exists"

This commit is contained in:
Jenkins2 2018-05-03 11:41:35 -05:00 committed by Gerrit Code Review
commit 85f894a8e0
1 changed files with 12 additions and 0 deletions

View File

@ -805,7 +805,19 @@ static int lua_error_function(lua_State *L)
lua_pushliteral(L, "\n");
lua_getglobal(L, "debug");
if (!lua_istable(L, -1)) {
/* Have no 'debug' table for whatever reason */
lua_pop(L, 2);
/* Original err message is on stack top now */
return 1;
}
lua_getfield(L, -1, "traceback");
if (!lua_isfunction(L, -1)) {
/* Same here for traceback function */
lua_pop(L, 3);
/* Original err message is on stack top now */
return 1;
}
lua_remove(L, -2); /* remove the 'debug' table */
lua_pushvalue(L, message_index);