From 3964ead17e29949c3ce0ce9df3fda7e6b8c15a2f Mon Sep 17 00:00:00 2001 From: cyberbotx Date: Thu, 27 Nov 2008 03:13:27 +0000 Subject: [PATCH] Moved moduleDeleteLanguage() to Module::DeleteLanguage(). git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1800 5417fbe8-f217-4b02-8779-1006273d7864 --- include/modules.h | 7 ++++++- src/module.cpp | 2 +- src/modules.c | 21 ++++++++------------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/modules.h b/include/modules.h index fc7451b49..d01b4f65d 100644 --- a/include/modules.h +++ b/include/modules.h @@ -227,6 +227,12 @@ class CoreExport Module **/ void InsertLanguage(int langNumber, int ac, const char **av); + /** + * Delete a language from a module + * @param langNumber the language Number to delete + **/ + void DeleteLanguage(int langNumber); + /** Add a module message to the IRCD message hash * @param m the Message to add * @param pos the Position to add the message to, e.g. MOD_HEAD, MOD_TAIL, MOD_UNIQUE @@ -458,7 +464,6 @@ int destroyEventHook(EvtHook * evh); MDE void moduleInsertLanguage(int langNumber, int ac, const char **av); MDE void moduleNoticeLang(char *source, User *u, int number, ...); MDE const char *moduleGetLangString(User * u, int number); -MDE void moduleDeleteLanguage(int langNumber); /*************************************************************************/ 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); + 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; } - for (idx = 0; idx > mod_current_module->lang[langNumber].argc; idx++) { - delete [] mod_current_module->lang[langNumber].argv[idx]; - } - mod_current_module->lang[langNumber].argc = 0; } void ModuleRunTimeDirCleanUp(void)