summaryrefslogtreecommitdiff
path: root/src/script/script_info.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/script_info.cpp')
-rw-r--r--src/script/script_info.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/script/script_info.cpp b/src/script/script_info.cpp
index 12df08ce5..eaf757553 100644
--- a/src/script/script_info.cpp
+++ b/src/script/script_info.cpp
@@ -19,6 +19,7 @@ ScriptFileInfo::~ScriptFileInfo()
free((void *)this->description);
free((void *)this->date);
free((void *)this->instance_name);
+ free((void *)this->url);
free(this->main_script);
free(this->SQ_instance);
}
@@ -68,5 +69,10 @@ bool ScriptFileInfo::CheckMethod(const char *name) const
if (!info->engine->CallIntegerMethod(*info->SQ_instance, "GetVersion", &info->version)) return SQ_ERROR;
if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "CreateInstance", &info->instance_name)) return SQ_ERROR;
+ /* The GetURL function is optional. */
+ if (info->engine->MethodExists(*info->SQ_instance, "GetURL")) {
+ if (!info->engine->CallStringMethodStrdup(*info->SQ_instance, "GetURL", &info->url)) return SQ_ERROR;
+ }
+
return 0;
}