diff --git a/src/config.cpp b/src/config.cpp index 96ed47917..f937b7930 100644 --- a/src/config.cpp +++ b/src/config.cpp @@ -79,14 +79,20 @@ const Block::item_map* Block::GetItems() const template<> const Anope::string& Block::Get(const Anope::string &tag, const Anope::string& def) const { + static Anope::string ret; + if (!this) - return def; + { + ret = def; + return ret; + } Anope::map::const_iterator it = items.find(tag); if (it != items.end()) return it->second; - return def; + ret = def; + return ret; } template<> time_t Block::Get(const Anope::string &tag, const Anope::string &def) const @@ -166,9 +172,16 @@ Conf::Conf() : Block("") Block *options = this->GetBlock("options"), *mail = this->GetBlock("mail"); ValidateNotZero("options", "releasetimeout", options->Get("releasetimeout")); + ValidateNotZero("options", "updatetimeout", options->Get("updatetimeout")); + ValidateNotZero("options", "expiretimeout", options->Get("expiretimeout")); + ValidateNotZero("options", "readtimeout", options->Get("readtimeout")); + ValidateNotZero("options", "warningtimeout", options->Get("warningtimeout")); + ValidateNotZero("options", "timeoutcheck", options->Get("timeoutcheck")); + ValidateNotEmpty("options", "enforceruser", options->Get("enforceruser")); ValidateNotEmpty("options", "enforcerhost", options->Get("enforcerhost")); ValidateNotEmpty("options", "guestnickprefix", options->Get("guestnickprefix")); + spacesepstream(options->Get("ulineservers")).GetTokens(this->Ulines); if (mail->Get("usemail"))