]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Bad w00tie bad, /who isnt checking +s for channel /who!
[user/henk/code/inspircd.git] / src / users.cpp
index d2e632b100d77ae6bfb25369b35655e7b2752f9d..986aea4cb83994a785adec90cd46dc129391270f 100644 (file)
@@ -61,20 +61,20 @@ bool InitClasses(ServerConfig* conf, const char* tag)
        return true;
 }
 
-bool DoType(ServerConfig* conf, const char* tag, char** entries, void** values, int* types)
+bool DoType(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types)
 {
-       char* TypeName = (char*)values[0];
-       char* Classes = (char*)values[1];
+       const char* TypeName = values[0].GetString();
+       const char* Classes = values[1].GetString();
        
        conf->opertypes[TypeName] = strdup(Classes);
        conf->GetInstance()->Log(DEBUG,"Read oper TYPE '%s' with classes '%s'",TypeName,Classes);
        return true;
 }
 
-bool DoClass(ServerConfig* conf, const char* tag, char** entries, void** values, int* types)
+bool DoClass(ServerConfig* conf, const char* tag, char** entries, ValueList &values, int* types)
 {
-       char* ClassName = (char*)values[0];
-       char* CommandList = (char*)values[1];
+       const char* ClassName = values[0].GetString();
+       const char* CommandList = values[1].GetString();
        
        conf->operclass[ClassName] = strdup(CommandList);
        conf->GetInstance()->Log(DEBUG,"Read oper CLASS '%s' with commands '%s'",ClassName,CommandList);
@@ -910,7 +910,7 @@ namespace irc
                                        ServerInstance->whowas.erase(iter->second);
                                        /* use a safe iter copy for erase and set the orig iter old valid ref by decrementing it */
                                        safeiter = iter;
-                                       iter--;
+                                       --iter;
                                        ServerInstance->whowas_fifo.erase(safeiter);
                                }
                                else {
@@ -1880,7 +1880,7 @@ bool userrec::ChangeDisplayedHost(const char* host)
                FOREACH_MOD(I_OnChangeHost,OnChangeHost(this,host));
        }
        if (this->ServerInstance->Config->CycleHosts)
-               this->WriteCommonExcept("%s","QUIT :Changing hosts");
+               this->WriteCommonExcept("QUIT :Changing hosts");
 
        /* Fix by Om: userrec::dhost is 65 long, this was truncating some long hosts */
        strlcpy(this->dhost,host,64);
@@ -2000,7 +2000,7 @@ void userrec::SplitChanList(userrec* dest, const std::string &cl)
        
                        if (line.length() + namelen + length - start > 510)
                        {
-                               this->Write(line);
+                               ServerInstance->SendWhoisLine(this, dest, 319, "%s", line.c_str());
                                line = prefix.str();
                        }