From: brain Date: Sun, 24 Feb 2008 14:32:06 +0000 (+0000) Subject: This segfaults atm. i'm working on it. X-Git-Tag: v2.0.23~3771 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;ds=sidebyside;h=1dd466029961608a5008d8596d50ecc9adf898a4;p=user%2Fhenk%2Fcode%2Finspircd.git This segfaults atm. i'm working on it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9016 e03df62e-2008-0410-955e-edbf42e46eb7 --- diff --git a/src/configreader.cpp b/src/configreader.cpp index d2a7ccfd4..be2b52ae1 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1336,6 +1336,8 @@ int ServerConfig::DoDownloads() CompletedFiles[x->first] = true; } + ServerInstance->Logs->Log("CONFIG",DEBUG,"Returning %d from DoDownloads()", new_downloads); + return new_downloads; } @@ -1398,7 +1400,10 @@ bool ServerConfig::LoadConf(ConfigDataHash &target, const char* filename, std::o if (!scan_for_includes_only) { if (x->second) + { + ServerInstance->Logs->Log("CONFIG",DEBUG,"Retrieve conf"); conf = IncludedFiles.find(filename)->second; + } else { errorstream << "File " << filename << " could not be opened." << std::endl; @@ -1408,6 +1413,9 @@ bool ServerConfig::LoadConf(ConfigDataHash &target, const char* filename, std::o } } + if (!conf) + return false; + ServerInstance->Logs->Log("CONFIG",DEBUG,"Start to read conf %s %08lx", filename, conf); /* Start reading characters... */ diff --git a/src/modules.cpp b/src/modules.cpp index 3e7ae9cdf..c3315490e 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -551,14 +551,17 @@ void ModuleManager::LoadAll() for(int count = 0; count < Instance->Config->ConfValueEnum(Instance->Config->config_data, "module"); count++) { - Instance->Config->ConfValue(Instance->Config->config_data, "module", "name", count, configToken, MAXBUF); - printf_c("[\033[1;32m*\033[0m] Loading module:\t\033[1;32m%s\033[0m\n",configToken); - - if (!this->Load(configToken)) + if (!this->Find(configToken)) { - Instance->Logs->Log("MODULE", DEFAULT, this->LastError()); - printf_c("\n[\033[1;31m*\033[0m] %s\n\n", this->LastError().c_str()); - Instance->Exit(EXIT_STATUS_MODULE); + Instance->Config->ConfValue(Instance->Config->config_data, "module", "name", count, configToken, MAXBUF); + printf_c("[\033[1;32m*\033[0m] Loading module:\t\033[1;32m%s\033[0m\n",configToken); + + if (!this->Load(configToken)) + { + Instance->Logs->Log("MODULE", DEFAULT, this->LastError()); + printf_c("\n[\033[1;31m*\033[0m] %s\n\n", this->LastError().c_str()); + Instance->Exit(EXIT_STATUS_MODULE); + } } } }