]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/helperfuncs.cpp
(TEST CODE) remote ping, do not use until debugged
[user/henk/code/inspircd.git] / src / helperfuncs.cpp
index e3e3db023b5919ad3ad1de6f1c56286e6bb7b6cf..fc4ec970f69f59285f6073579b706b8ae7453777 100644 (file)
@@ -1465,3 +1465,36 @@ int InsertMode(std::string &output, const char* mode, unsigned short section)
        output.insert(pos, mode);
        return 1;
 }
+
+bool IsValidChannelName(const char *chname)
+{
+               char *c;
+
+               /* check for no name - don't check for !*chname, as if it is empty, it won't be '#'! */
+               if (!chname || *chname != '#')
+               {
+                               return false;
+               }
+
+               c = (char *)chname + 1;
+               while (*c)
+               {
+                               switch (*c)
+                               {
+                                               case ' ':
+                                               case ',':
+                                               case 7:
+                                                               return false;
+                               }
+
+                               c++;
+               }
+               
+               /* too long a name - note funky pointer arithmetic here. */
+               if ((c - chname) > CHANMAX)
+               {
+                               return false;
+               }
+
+               return true;
+}