From 0bbd307f9fdee0edc386d721254ff17d24f0d51f Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Thu, 26 Jul 2018 18:19:19 +0200 Subject: More precise log message when loading a Lua file This will indicates what is the error at the LUA file loading Change-Id: I258bf43a2200577998e05cf7b2253bdd510a468e Signed-off-by: Romain Forlot --- ctl-lib/ctl-lua.c | 21 +++++++++++++-------- ctl-lib/ctl-lua.h | 2 +- ctl-lib/ctl-plugin.c | 4 +--- 3 files changed, 15 insertions(+), 12 deletions(-) (limited to 'ctl-lib') diff --git a/ctl-lib/ctl-lua.c b/ctl-lib/ctl-lua.c index ac22767..ecfd0f3 100644 --- a/ctl-lib/ctl-lua.c +++ b/ctl-lib/ctl-lua.c @@ -748,19 +748,26 @@ int LuaCallFunc(CtlSourceT *source, CtlActionT *action, json_object *queryJ) { return rc; } -int LuaLoadScript(const char *luaScriptPath) { +int LuaLoadScript(AFB_ApiT apiHandle, const char *luaScriptPath) { int err = 0; - if (!luaScriptPath) + if (!luaScriptPath) { + AFB_ApiError(apiHandle, "Error: provided path is NULL"); return -1; + } err = luaL_loadfile(luaState, luaScriptPath); - if (err) + if (err) { + AFB_ApiError(apiHandle, "Error at load for %s: %s", luaScriptPath, lua_tostring(luaState, -1)); return err; + } // Script was loaded we need to parse to make it executable err = lua_pcall(luaState, 0, 0, 0); - + if (err) { + AFB_ApiError(apiHandle, "Error at execution for %s: %s", luaScriptPath, lua_tostring(luaState, -1)); + return err; + } return err; } @@ -819,11 +826,9 @@ static int LuaDoScript(json_object *queryJ, CtlSourceT *source) { } } - err = LuaLoadScript(luaScriptPath); - if (err) { - AFB_ApiError(source->api, "LUA-DOSCRIPT HOOPs Error in LUA loading scripts=%s err=%s", luaScriptPath, lua_tostring(luaState, -1)); + err = LuaLoadScript(source->api, luaScriptPath); + if (err) return -1; - } // load function (should exist in CONTROL_PATH_LUA lua_getglobal(luaState, func); diff --git a/ctl-lib/ctl-lua.h b/ctl-lib/ctl-lua.h index 0ec4960..a02c6e1 100644 --- a/ctl-lib/ctl-lua.h +++ b/ctl-lib/ctl-lua.h @@ -52,7 +52,7 @@ typedef enum { } LuaDoActionT; extern const char *lua_utils; -extern int LuaLoadScript(const char *luaScriptPath); +extern int LuaLoadScript(AFB_ApiT apiHandle, const char *luaScriptPath); extern int LuaConfigLoad (AFB_ApiT apiHandle, const char *prefix); extern void LuaL2cNewLib(luaL_Reg *l2cFunc, int count, const char *prefix); extern int Lua2cWrapper(void* luaHandle, char *funcname, Lua2cFunctionT callback); diff --git a/ctl-lib/ctl-plugin.c b/ctl-lib/ctl-plugin.c index 182b34f..0c0bacc 100644 --- a/ctl-lib/ctl-plugin.c +++ b/ctl-lib/ctl-plugin.c @@ -226,10 +226,8 @@ static int LoadFoundPlugins(AFB_ApiT apiHandle, json_object *scanResult, json_ob else if(ext && !strcasecmp(ext, CTL_SCRIPT_EXT)) { ctlPlugin->api = apiHandle; ctlPlugin->context = handle; - if(LuaLoadScript(pluginpath)) { - AFB_ApiError(apiHandle, "There was an error loading the lua file %s", pluginpath); + if(LuaLoadScript(apiHandle, pluginpath)) return -1; - } } } -- cgit 1.2.3-korg