From 4cc6e5e14fdbde499481dbab5ab2ad1257b8af9c Mon Sep 17 00:00:00 2001 From: w00t Date: Mon, 22 Oct 2007 10:14:18 +0000 Subject: Move InspIRCd::IsValidMask() to helperfuncs.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8298 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/helperfuncs.cpp | 32 ++++++++++++++++++++++++++++++++ src/modules.cpp | 36 ------------------------------------ 2 files changed, 32 insertions(+), 36 deletions(-) (limited to 'src') diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index ceb4711a9..388e9bb50 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -391,6 +391,38 @@ long InspIRCd::LocalUserCount() return (local_users.size() - this->UnregisteredUserCount()); } +bool InspIRCd::IsValidMask(const std::string &mask) +{ + char* dest = (char*)mask.c_str(); + int exclamation = 0; + int atsign = 0; + + for (char* i = dest; *i; i++) + { + /* out of range character, bad mask */ + if (*i < 32 || *i > 126) + { + return false; + } + + switch (*i) + { + case '!': + exclamation++; + break; + case '@': + atsign++; + break; + } + } + + /* valid masks only have 1 ! and @ */ + if (exclamation != 1 || atsign != 1) + return false; + + return true; +} + /* true for valid channel name, false else */ bool InspIRCd::IsChannel(const char *chname) { diff --git a/src/modules.cpp b/src/modules.cpp index 8da123b05..5639f3088 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -901,42 +901,6 @@ bool InspIRCd::DelELine(const std::string &hostmask) return XLines->del_eline(hostmask.c_str()); } -/* - * XXX why on *earth* is this in modules.cpp...? I think - * perhaps we need a server.cpp for InspIRCd:: stuff where possible. -- w00t - */ -bool InspIRCd::IsValidMask(const std::string &mask) -{ - char* dest = (char*)mask.c_str(); - int exclamation = 0; - int atsign = 0; - - for (char* i = dest; *i; i++) - { - /* out of range character, bad mask */ - if (*i < 32 || *i > 126) - { - return false; - } - - switch (*i) - { - case '!': - exclamation++; - break; - case '@': - atsign++; - break; - } - } - - /* valid masks only have 1 ! and @ */ - if (exclamation != 1 || atsign != 1) - return false; - - return true; -} - Module* ModuleManager::Find(const std::string &name) { for (int i = 0; i <= this->GetCount(); i++) -- cgit v1.2.3