From 79e6627bf92bb2bfd5a103cc4006994309b48246 Mon Sep 17 00:00:00 2001 From: ame Date: Thu, 7 Dec 2023 16:01:43 -0600 Subject: string stuff & closed file from reading --- src/io.c | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) (limited to 'src/io.c') 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; +} + -- cgit v1.2.3