diff options
-rw-r--r-- | ctl-lib/ctl-lua.c | 21 | ||||
-rw-r--r-- | ctl-lib/ctl-lua.h | 2 | ||||
-rw-r--r-- | ctl-lib/ctl-plugin.c | 4 |
3 files changed, 15 insertions, 12 deletions
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; - } } } |