diff options
author | Adam <Adam@anope.org> | 2010-08-17 19:27:37 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-08-17 19:27:37 -0400 |
commit | e65d8b2f3dfdb40858259b3bb48ef6998c31e62f (patch) | |
tree | fd845bdef5664d025ab19c262ae2c5e9d23d7bb2 /modules/core/hs_setall.cpp | |
parent | 2575008baa5c9d0ca789680da1a3b81dc74786f7 (diff) |
Rewrote the config reader to better handle invalid configs.
This prevents Anope from exploding when /os reload has errors.
Diffstat (limited to 'modules/core/hs_setall.cpp')
-rw-r--r-- | modules/core/hs_setall.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/modules/core/hs_setall.cpp b/modules/core/hs_setall.cpp index 9bf6369fe..3ace182fd 100644 --- a/modules/core/hs_setall.cpp +++ b/modules/core/hs_setall.cpp @@ -31,12 +31,12 @@ class CommandHSSetAll : public Command if (!(na = findnick(nick))) { - notice_lang(Config.s_HostServ, u, HOST_NOREG, nick.c_str()); + notice_lang(Config->s_HostServ, u, HOST_NOREG, nick.c_str()); return MOD_CONT; } else if (na->HasFlag(NS_FORBIDDEN)) { - notice_lang(Config.s_HostServ, u, NICK_X_FORBIDDEN, nick.c_str()); + notice_lang(Config->s_HostServ, u, NICK_X_FORBIDDEN, nick.c_str()); return MOD_CONT; } @@ -46,12 +46,12 @@ class CommandHSSetAll : public Command rawhostmask = myStrGetTokenRemainder(rawhostmask, '@', 1); /* get the remaining string */ if (rawhostmask.empty()) { - notice_lang(Config.s_HostServ, u, HOST_SETALL_SYNTAX, Config.s_HostServ.c_str()); + notice_lang(Config->s_HostServ, u, HOST_SETALL_SYNTAX, Config->s_HostServ.c_str()); return MOD_CONT; } - if (vIdent.length() > Config.UserLen) + if (vIdent.length() > Config->UserLen) { - notice_lang(Config.s_HostServ, u, HOST_SET_IDENTTOOLONG, Config.UserLen); + notice_lang(Config->s_HostServ, u, HOST_SET_IDENTTOOLONG, Config->UserLen); return MOD_CONT; } else @@ -59,28 +59,28 @@ class CommandHSSetAll : public Command for (Anope::string::iterator s = vIdent.begin(), s_end = vIdent.end(); s != s_end; ++s) if (!isvalidchar(*s)) { - notice_lang(Config.s_HostServ, u, HOST_SET_IDENT_ERROR); + notice_lang(Config->s_HostServ, u, HOST_SET_IDENT_ERROR); return MOD_CONT; } } if (!ircd->vident) { - notice_lang(Config.s_HostServ, u, HOST_NO_VIDENT); + notice_lang(Config->s_HostServ, u, HOST_NO_VIDENT); return MOD_CONT; } } - if (rawhostmask.length() < Config.HostLen) + if (rawhostmask.length() < Config->HostLen) hostmask = rawhostmask; else { - notice_lang(Config.s_HostServ, u, HOST_SET_TOOLONG, Config.HostLen); + notice_lang(Config->s_HostServ, u, HOST_SET_TOOLONG, Config->HostLen); return MOD_CONT; } if (!isValidHost(hostmask, 3)) { - notice_lang(Config.s_HostServ, u, HOST_SET_ERROR); + notice_lang(Config->s_HostServ, u, HOST_SET_ERROR); return MOD_CONT; } @@ -92,26 +92,26 @@ class CommandHSSetAll : public Command HostServSyncVhosts(na); FOREACH_MOD(I_OnSetVhost, OnSetVhost(na)); if (!vIdent.empty()) - notice_lang(Config.s_HostServ, u, HOST_IDENT_SETALL, nick.c_str(), vIdent.c_str(), hostmask.c_str()); + notice_lang(Config->s_HostServ, u, HOST_IDENT_SETALL, nick.c_str(), vIdent.c_str(), hostmask.c_str()); else - notice_lang(Config.s_HostServ, u, HOST_SETALL, nick.c_str(), hostmask.c_str()); + notice_lang(Config->s_HostServ, u, HOST_SETALL, nick.c_str(), hostmask.c_str()); return MOD_CONT; } bool OnHelp(User *u, const Anope::string &subcommand) { - notice_help(Config.s_HostServ, u, HOST_HELP_SETALL); + notice_help(Config->s_HostServ, u, HOST_HELP_SETALL); return true; } void OnSyntaxError(User *u, const Anope::string &subcommand) { - syntax_error(Config.s_HostServ, u, "SETALL", HOST_SETALL_SYNTAX); + syntax_error(Config->s_HostServ, u, "SETALL", HOST_SETALL_SYNTAX); } void OnServHelp(User *u) { - notice_lang(Config.s_HostServ, u, HOST_HELP_CMD_SETALL); + notice_lang(Config->s_HostServ, u, HOST_HELP_CMD_SETALL); } }; |