diff options
Diffstat (limited to 'src/l_log.c')
-rw-r--r-- | src/l_log.c | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/src/l_log.c b/src/l_log.c deleted file mode 100644 index 05111c3..0000000 --- a/src/l_log.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * rhctl - * - * Copyright (C) 2009-2015 Christian Pointner <equinox@helsinki.at> - * - * This file is part of rhctl. - * - * rhctl is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * any later version. - * - * rhctl is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with rhctl. If not, see <http://www.gnu.org/licenses/>. - */ - -#include <lua.h> -#include <lauxlib.h> - -#include <stdlib.h> - -#include "datatypes.h" -#include "log.h" - -#include "l_log.h" - -static int l_log_init(lua_State *L) -{ - log_init(); - return 0; -} - -static int l_log_close(lua_State *L) -{ - log_close(); - return 0; -} - -static int l_log_add_target(lua_State *L) -{ - int ret = log_add_target(luaL_checkstring(L,1)); - if(ret) { - lua_pushboolean(L, 0); - switch(ret) { - case -2: lua_pushstring(L, "memory error at log_add_target"); break; - case -3: lua_pushstring(L, "unknown log target"); break; - case -4: lua_pushstring(L, "this log target is only allowed once"); break; - default: lua_pushstring(L, "syntax error"); break; - } - return 2; - } - - lua_pushboolean(L, 1); - return 1; -} - -static int l_log_printf(lua_State *L) -{ - int numargs = lua_gettop(L); - if(numargs < 2) - return luaL_error(L, "log.printf too few arguments"); - - if(numargs > 2) { - lua_getglobal(L, "string"); - lua_pushliteral(L, "format"); - lua_gettable(L, -2); - lua_insert(L, 2); - lua_remove(L, -1); - lua_call(L, numargs - 1, 1); - } - - log_prio_t prio = luaL_checkinteger(L,1); - log_printf(prio, "%s", luaL_checkstring(L, 2)); - return 0; -} - -static const struct luaL_Reg log_funcs [] = { - { "init", l_log_init }, - { "close", l_log_close }, - { "add_target", l_log_add_target }, - { "printf", l_log_printf }, - { NULL, NULL } -}; - - -LUALIB_API int luaopen_log(lua_State *L) -{ -#if LUA_VERSION_NUM > 501 - lua_newtable(L); - luaL_setfuncs(L, log_funcs, 0); - lua_pushvalue(L, -1); - lua_setglobal(L, LUA_LOGLIBNAME); -#else - luaL_register(L, LUA_LOGLIBNAME, log_funcs); -#endif - lua_pushliteral(L, "ERROR"); - lua_pushinteger(L, ERROR); - lua_settable(L, -3); - lua_pushliteral(L, "WARNING"); - lua_pushinteger(L, WARNING); - lua_settable(L, -3); - lua_pushliteral(L, "NOTICE"); - lua_pushinteger(L, NOTICE); - lua_settable(L, -3); - lua_pushliteral(L, "INFO"); - lua_pushinteger(L, INFO); - lua_settable(L, -3); - lua_pushliteral(L, "DEBUG"); - lua_pushinteger(L, DEBUG); - lua_settable(L, -3); - return 1; -} |