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/cs_drop.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/cs_drop.cpp')
-rw-r--r-- | modules/core/cs_drop.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/modules/core/cs_drop.cpp b/modules/core/cs_drop.cpp index 5136772b2..608fe3664 100644 --- a/modules/core/cs_drop.cpp +++ b/modules/core/cs_drop.cpp @@ -29,7 +29,7 @@ class CommandCSDrop : public Command if (readonly) { - notice_lang(Config.s_ChanServ, u, CHAN_DROP_DISABLED); // XXX: READ_ONLY_MODE? + notice_lang(Config->s_ChanServ, u, CHAN_DROP_DISABLED); // XXX: READ_ONLY_MODE? return MOD_CONT; } @@ -37,19 +37,19 @@ class CommandCSDrop : public Command if (ci->HasFlag(CI_FORBIDDEN) && !u->Account()->HasCommand("chanserv/drop")) { - notice_lang(Config.s_ChanServ, u, CHAN_X_FORBIDDEN, chan.c_str()); + notice_lang(Config->s_ChanServ, u, CHAN_X_FORBIDDEN, chan.c_str()); return MOD_CONT; } if (ci->HasFlag(CI_SUSPENDED) && !u->Account()->HasCommand("chanserv/drop")) { - notice_lang(Config.s_ChanServ, u, CHAN_X_FORBIDDEN, chan.c_str()); + notice_lang(Config->s_ChanServ, u, CHAN_X_FORBIDDEN, chan.c_str()); return MOD_CONT; } if ((ci->HasFlag(CI_SECUREFOUNDER) ? !IsFounder(u, ci) : !check_access(u, ci, CA_FOUNDER)) && !u->Account()->HasCommand("chanserv/drop")) { - notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); + notice_lang(Config->s_ChanServ, u, ACCESS_DENIED); return MOD_CONT; } @@ -64,17 +64,17 @@ class CommandCSDrop : public Command ircdproto->SendSQLineDel(&x); } - Alog() << Config.s_ChanServ << ": Channel " << ci->name << " dropped by " << u->GetMask() << " (founder: " << (ci->founder ? ci->founder->display : "(none)") << ")"; + Alog() << Config->s_ChanServ << ": Channel " << ci->name << " dropped by " << u->GetMask() << " (founder: " << (ci->founder ? ci->founder->display : "(none)") << ")"; delete ci; /* We must make sure that the Services admin has not normally the right to * drop the channel before issuing the wallops. */ - if (Config.WallDrop && (level < ACCESS_FOUNDER || (!IsFounder(u, ci) && ci->HasFlag(CI_SECUREFOUNDER)))) + if (Config->WallDrop && (level < ACCESS_FOUNDER || (!IsFounder(u, ci) && ci->HasFlag(CI_SECUREFOUNDER)))) ircdproto->SendGlobops(ChanServ, "\2%s\2 used DROP on channel \2%s\2", u->nick.c_str(), chan.c_str()); - notice_lang(Config.s_ChanServ, u, CHAN_DROPPED, chan.c_str()); + notice_lang(Config->s_ChanServ, u, CHAN_DROPPED, chan.c_str()); FOREACH_MOD(I_OnChanDrop, OnChanDrop(chan)); @@ -84,21 +84,21 @@ class CommandCSDrop : public Command bool OnHelp(User *u, const Anope::string &subcommand) { if (u->Account() && u->Account()->IsServicesOper()) - notice_help(Config.s_ChanServ, u, CHAN_SERVADMIN_HELP_DROP); + notice_help(Config->s_ChanServ, u, CHAN_SERVADMIN_HELP_DROP); else - notice_help(Config.s_ChanServ, u, CHAN_HELP_DROP); + notice_help(Config->s_ChanServ, u, CHAN_HELP_DROP); return true; } void OnSyntaxError(User *u, const Anope::string &subcommand) { - syntax_error(Config.s_ChanServ, u, "DROP", CHAN_DROP_SYNTAX); + syntax_error(Config->s_ChanServ, u, "DROP", CHAN_DROP_SYNTAX); } void OnServHelp(User *u) { - notice_lang(Config.s_ChanServ, u, CHAN_HELP_CMD_DROP); + notice_lang(Config->s_ChanServ, u, CHAN_HELP_CMD_DROP); } }; |