]> jfr.im git - irc/hexchat/hexchat.git/commitdiff
lua: Prevent loading a script if it's already loaded
authorculb <redacted>
Mon, 27 Feb 2017 23:58:22 +0000 (18:58 -0500)
committerPatrick Griffis <redacted>
Fri, 28 Apr 2017 11:55:14 +0000 (07:55 -0400)
Closes #1959

plugins/lua/lua.c

index d284d01a31bb92847639b40c193f95247ac975bf..941342bb7d1c904fccf234c7c34111db8e5dc623 100644 (file)
@@ -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);