From 5d72755027ddf4e2e2715ae505c3437f9617a5b4 Mon Sep 17 00:00:00 2001 From: culb Date: Mon, 27 Feb 2017 12:14:36 -0500 Subject: [PATCH] lua: Prevent from loading if it's already loaded Closes #1958 --- plugins/lua/lua.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/plugins/lua/lua.c b/plugins/lua/lua.c index 0dc7aeda..d284d01a 100644 --- a/plugins/lua/lua.c +++ b/plugins/lua/lua.c @@ -1685,8 +1685,17 @@ static int command_lua(char *word[], char *word_eol[], void *userdata) return HEXCHAT_EAT_ALL; } +/* Reinitialization safegaurd */ +static int initialized = 0; + G_MODULE_EXPORT int hexchat_plugin_init(hexchat_plugin *plugin_handle, char **name, char **description, char **version, char *arg) { + if(initialized != 0) + { + hexchat_print(plugin_handle, "Lua interface already loaded\n"); + return 0; + } + if (g_str_has_prefix(LUA_VERSION, "Lua ")) { strcat(plugin_version, "/"); @@ -1698,6 +1707,7 @@ G_MODULE_EXPORT int hexchat_plugin_init(hexchat_plugin *plugin_handle, char **na *version = plugin_version; ph = plugin_handle; + initialized = 1; hexchat_hook_command(ph, "", HEXCHAT_PRI_NORM, command_console_exec, NULL, NULL); hexchat_hook_command(ph, "LOAD", HEXCHAT_PRI_NORM, command_load, NULL, NULL);