aboutsummaryrefslogtreecommitdiff
path: root/src/io.c
diff options
context:
space:
mode:
authorame <[email protected]>2026-05-09 03:22:53 -0500
committerame <[email protected]>2026-05-09 03:22:53 -0500
commite26d1b25d7c1e010a69aec1273158ced45df82cc (patch)
treef0206e78aff602982d3bfd9b05f1794939016dd6 /src/io.c
parent01de3fbcc49ea6baa311e2f358e3b540325f0e45 (diff)
updated log commands
Diffstat (limited to 'src/io.c')
-rw-r--r--src/io.c35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/io.c b/src/io.c
index 576579b..1b6d1c4 100644
--- a/src/io.c
+++ b/src/io.c
@@ -22,35 +22,46 @@ lua_Debug i_get_debug(lua_State* L){
return ar;
}
+int print_stack(lua_State* L){
+ int top = lua_gettop(L);
+ for(int i = 1; i <= top; i++){
+ printf("%s", lua_tostring(L, i));
+ if(i < top)
+ printf(" ");
+ }
+ printf("\n");
+ return 0;
+}
+
int l_debug(lua_State* L){
- size_t input_len = 0;
- char* input = (char*)luaL_checklstring(L, 1, &input_len);
lua_Debug debug = i_get_debug(L);
- printf(color_gray"[ debug ] (%s:%i) %s\n"color_reset, debug.source, debug.currentline, input);
+ printf(color_gray"[ debug ] (%s:%i) ", debug.source, debug.currentline);
+ print_stack(L);
+ printf(color_reset);
return 0;
}
int l_log(lua_State* L){
- size_t input_len = 0;
- char* input = (char*)luaL_checklstring(L, 1, &input_len);
lua_Debug debug = i_get_debug(L);
- printf(color_green"[ log ] (%s:%i)"color_gray" %s\n"color_reset, debug.source, debug.currentline, input);
+ printf(color_green"[ log ] (%s:%i) "color_gray, debug.source, debug.currentline);
+ print_stack(L);
+ printf(color_reset);
return 0;
}
int l_warn(lua_State* L){
- size_t input_len = 0;
- char* input = (char*)luaL_checklstring(L, 1, &input_len);
lua_Debug debug = i_get_debug(L);
- printf(color_yellow"[ warn ] (%s:%i) %s\n"color_reset, debug.source, debug.currentline, input);
+ printf(color_yellow"[ warn ] (%s:%i) ", debug.source, debug.currentline);
+ print_stack(L);
+ printf(color_reset);
return 0;
}
int l_error(lua_State* L){
- size_t input_len = 0;
- char* input = (char*)luaL_checklstring(L, 1, &input_len);
lua_Debug debug = i_get_debug(L);
- printf(color_red"[ error ] (%s:%i) %s\n"color_reset, debug.source, debug.currentline, input);
+ printf(color_red"[ error ] (%s:%i) ", debug.source, debug.currentline);
+ print_stack(L);
+ printf(color_reset);
return 0;
}