summaryrefslogtreecommitdiff
path: root/src/honeysuckle/hs_traceback.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/honeysuckle/hs_traceback.c')
-rw-r--r--src/honeysuckle/hs_traceback.c37
1 files changed, 0 insertions, 37 deletions
diff --git a/src/honeysuckle/hs_traceback.c b/src/honeysuckle/hs_traceback.c
deleted file mode 100644
index 1830721..0000000
--- a/src/honeysuckle/hs_traceback.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "honeysuckle.h"
-
-int hs_traceback(lua_State *L)
-{
- if (!lua_isstring(L, 1))
- /* 'message' is not a string, keep intact */
- return 1;
-
- lua_getglobal(L, "debug");
- if (!lua_istable(L, -1)) {
- lua_pop(L, 1);
- return 1;
- }
-
- lua_getfield(L, -1, "traceback");
- if (!lua_isfunction(L, -1)) {
- lua_pop(L, 2);
- return 1;
- }
-
- lua_pushvalue(L, 1);
- lua_pushinteger(L, 2);
- lua_call(L, 2, 1);
- return 1;
-}
-
-
-int hs_call(lua_State *L, int nargs, int nret)
-{
- int traceback_pos = lua_gettop(L) - nargs;
- lua_pushcfunction(L, hs_traceback);
- lua_insert(L, traceback_pos);
-
- int result = lua_pcall(L, nargs, nret, traceback_pos);
- lua_remove(L, traceback_pos);
- return result;
-}