From fc2fe7fd28c5cc3748a95f619c048cfe0a30ab15 Mon Sep 17 00:00:00 2001 From: culb Date: Mon, 27 Feb 2017 18:58:22 -0500 Subject: lua: Prevent loading a script if it's already loaded Closes #1959 --- plugins/lua/lua.c | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) (limited to 'plugins/lua/lua.c') diff --git a/plugins/lua/lua.c b/plugins/lua/lua.c index d284d01a..941342bb 100644 --- a/plugins/lua/lua.c +++ b/plugins/lua/lua.c @@ -1361,16 +1361,6 @@ static script_info *create_script(char const *file) return info; } -static void load_script(char const *file) -{ - script_info *info = create_script(file); - if(info) - { - g_ptr_array_add(scripts, info); - check_deferred(info); - } -} - static script_info *get_script_by_file(char const *filename) { char const *expanded = expand_path(filename); @@ -1387,6 +1377,26 @@ static script_info *get_script_by_file(char const *filename) return NULL; } +static int load_script(char const *file) +{ + script_info *info = get_script_by_file(file); + + if (info != NULL) + { + hexchat_print(ph, "Lua script is already loaded"); + return 0; + } + + info = create_script(file); + if (info) + { + g_ptr_array_add(scripts, info); + check_deferred(info); + } + + return 1; +} + static int unload_script(char const *filename) { script_info *script = get_script_by_file(filename); -- cgit 1.4.1