diff options
| -rw-r--r-- | degesch.c | 13 | 
1 files changed, 9 insertions, 4 deletions
@@ -8632,12 +8632,17 @@ lua_plugin_load (struct app_context *ctx, const char *filename,  	lua_plugin_create_meta (L, XLUA_CONNECTION_METATABLE, lua_connection_table);  	lua_plugin_create_meta (L, XLUA_CONNECTOR_METATABLE,  lua_connector_table); -	int ret; -	if (!(ret = luaL_loadfile (L, filename)) -	 && !(ret = lua_pcall (L, 0, 0, 0))) +	struct error *error = NULL; +	if (luaL_loadfile (L, filename)) +		error_set (e, "%s: %s", "Lua", lua_tostring (L, -1)); +	else if (!lua_plugin_call (plugin, 0, 0, &error)) +	{ +		error_set (e, "%s: %s", "Lua", error->message); +		error_free (error); +	} +	else  		return &plugin->super; -	error_set (e, "%s: %s", "Lua", lua_tostring (L, -1));  	lua_close (L);  	free (plugin);  	return NULL;  | 
