summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/module.cpp2
-rw-r--r--src/modules.c21
2 files changed, 9 insertions, 14 deletions
diff --git a/src/module.cpp b/src/module.cpp
index 2df2aaa58..877b966c5 100644
--- a/src/module.cpp
+++ b/src/module.cpp
@@ -65,7 +65,7 @@ Module::~Module()
mod_current_module = this;
for (i = 0; i < NUM_LANGS; i++)
- moduleDeleteLanguage(i);
+ this->DeleteLanguage(i);
remove(this->filename.c_str());
diff --git a/src/modules.c b/src/modules.c
index c701355ab..f355790f5 100644
--- a/src/modules.c
+++ b/src/modules.c
@@ -156,7 +156,7 @@ void Module::InsertLanguage(int langNumber, int ac, const char **av)
alog("debug: %s Adding %d texts for language %d", this->name.c_str(), ac, langNumber);
if (this->lang[langNumber].argc > 0) {
- moduleDeleteLanguage(langNumber);
+ this->DeleteLanguage(langNumber);
}
this->lang[langNumber].argc = ac;
@@ -1300,20 +1300,15 @@ const char *moduleGetLangString(User * u, int number)
}
}
-/**
- * Delete a language from a module
- * @param langNumber the language Number to delete
- **/
-void moduleDeleteLanguage(int langNumber)
+void Module::DeleteLanguage(int langNumber)
{
- int idx = 0;
- if ((mod_current_module_name) && (!mod_current_module || mod_current_module_name != mod_current_module->name)) {
- mod_current_module = findModule(mod_current_module_name);
- }
- for (idx = 0; idx > mod_current_module->lang[langNumber].argc; idx++) {
- delete [] mod_current_module->lang[langNumber].argv[idx];
+ if (this->lang[langNumber].argc)
+ {
+ for (int idx = 0; idx > this->lang[langNumber].argc; idx++)
+ delete [] this->lang[langNumber].argv[idx];
+ delete [] this->lang[langNumber].argv;
+ this->lang[langNumber].argc = 0;
}
- mod_current_module->lang[langNumber].argc = 0;
}
void ModuleRunTimeDirCleanUp(void)