aboutsummaryrefslogtreecommitdiff
path: root/src/io.c
diff options
context:
space:
mode:
authorame <[email protected]>2023-12-07 16:01:43 -0600
committerame <[email protected]>2023-12-07 16:01:43 -0600
commit06506329fa89a0513048a000bd06314472c10f2c (patch)
tree49c417e57164b7783c9c02f75b5b6356478594b5 /src/io.c
parent470ccfa5149480d06a9c65d49bbb091f4614ad3d (diff)
string stuff & closed file from reading
Diffstat (limited to 'src/io.c')
-rw-r--r--src/io.c43
1 files changed, 42 insertions, 1 deletions
diff --git a/src/io.c b/src/io.c
index 3f2922c..6d07a44 100644
--- a/src/io.c
+++ b/src/io.c
@@ -30,7 +30,48 @@ int l_readfile(lua_State* L){
}
out[count] = '\0';
lua_pushstring(L, out);
-
+
+ fclose(fp);
free(out);
return 1;
};
+
+lua_Debug i_get_debug(lua_State* L){
+ lua_Debug ar;
+ lua_getstack(L, 1, &ar);
+ lua_getinfo(L, "nSl", &ar);
+ return ar;
+}
+
+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);
+ 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);
+ 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);
+ 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);
+ return 0;
+}
+