]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/helperfuncs.cpp
Report failure to load configs
[user/henk/code/inspircd.git] / src / helperfuncs.cpp
index ceb4711a9507fd9f1cfb415ecf65b1d4bd693166..a1d40cc5fabe1932b4e05a7d4cb5bf3958fddead 100644 (file)
@@ -11,6 +11,8 @@
  * ---------------------------------------------------
  */
 
+/* $Core: libIRCDhelper */
+
 #include "inspircd.h"
 #include <stdarg.h>
 #include "wildcard.h"
@@ -360,12 +362,6 @@ int InspIRCd::ModeCount(const char mode)
                return 0;
 }
 
-/* wrapper for readability */
-int InspIRCd::InvisibleUserCount()
-{
-       return ModeCount('i');
-}
-
 /* return how many users are opered */
 int InspIRCd::OperCount()
 {
@@ -391,6 +387,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)
 {
@@ -479,7 +507,7 @@ bool IsIdentHandler::Call(const char* n)
 }
 
 /* open the proper logfile */
-bool InspIRCd::OpenLog(char** argv, int argc)
+bool InspIRCd::OpenLog(char**, int)
 {
        Config->MyDir = Config->GetFullProgDir();