]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Fix error
[user/henk/code/inspircd.git] / src / users.cpp
index aa9d570ac55abbfb1c627826e7478cc844dc09d3..c892c51f50231e1d1ccc93c8bd4c73d6816ba2e1 100644 (file)
@@ -185,7 +185,6 @@ void User::DecrementModes()
 
 User::User(InspIRCd* Instance, const std::string &uid) : ServerInstance(Instance)
 {
-       *host = 0;
        server = (char*)Instance->FindServerNamePtr(Instance->Config->ServerName);
        reset_due = ServerInstance->Time();
        age = ServerInstance->Time();
@@ -211,9 +210,9 @@ User::User(InspIRCd* Instance, const std::string &uid) : ServerInstance(Instance
        memset(snomasks,0,sizeof(snomasks));
 
        if (uid.empty())
-               uuid.assign(Instance->GetUID(), 0, UUID_LENGTH);
+               uuid.assign(Instance->GetUID(), 0, UUID_LENGTH - 1);
        else
-               uuid.assign(uid, 0, UUID_LENGTH);
+               uuid.assign(uid, 0, UUID_LENGTH - 1);
 
        ServerInstance->Logs->Log("USERS", DEBUG,"New UUID for user: %s (%s)", uuid.c_str(), uid.empty() ? "allocated new" : "used remote");
 
@@ -283,7 +282,7 @@ const std::string& User::MakeHost()
        for(const char* n = ident.c_str(); *n; n++)
                *t++ = *n;
        *t++ = '@';
-       for(const char* n = host; *n; n++)
+       for(const char* n = host.c_str(); *n; n++)
                *t++ = *n;
        *t = 0;
 
@@ -383,7 +382,7 @@ const std::string& User::GetFullRealHost()
        for(const char* n = ident.c_str(); *n; n++)
                *t++ = *n;
        *t++ = '@';
-       for(char* n = host; *n; n++)
+       for(const char* n = host.c_str(); *n; n++)
                *t++ = *n;
        *t = 0;
 
@@ -721,8 +720,8 @@ void User::Oper(const std::string &opertype, const std::string &opername)
                this->modes[UM_OPERATOR] = 1;
                this->WriteServ("MODE %s :+o", this->nick.c_str());
                FOREACH_MOD(I_OnOper, OnOper(this, opertype));
-               ServerInstance->Logs->Log("OPER", DEFAULT, "%s!%s@%s opered as type: %s", this->nick.c_str(), this->ident.c_str(), this->host, opertype.c_str());
-               this->oper.assign(opertype, 0, NICKMAX - 1);
+               ServerInstance->Logs->Log("OPER", DEFAULT, "%s!%s@%s opered as type: %s", this->nick.c_str(), this->ident.c_str(), this->host.c_str(), opertype.c_str());
+               this->oper.assign(opertype, 0, ServerInstance->Config->Limits.NickMax);
                ServerInstance->Users->all_opers.push_back(this);
 
                opertype_t::iterator iter_opertype = ServerInstance->Config->opertypes.find(this->oper.c_str());
@@ -931,7 +930,7 @@ void User::FullConnect()
        CheckLines();
 
        this->WriteServ("NOTICE Auth :Welcome to \002%s\002!",ServerInstance->Config->Network);
-       this->WriteNumeric(001, "%s :Welcome to the %s IRC Network %s!%s@%s",this->nick.c_str(), ServerInstance->Config->Network, this->nick.c_str(), this->ident.c_str(), this->host);
+       this->WriteNumeric(001, "%s :Welcome to the %s IRC Network %s!%s@%s",this->nick.c_str(), ServerInstance->Config->Network, this->nick.c_str(), this->ident.c_str(), this->host.c_str());
        this->WriteNumeric(002, "%s :Your host is %s, running version InspIRCd-1.2",this->nick.c_str(),ServerInstance->Config->ServerName);
        this->WriteNumeric(003, "%s :This server was created %s %s", this->nick.c_str(), __TIME__, __DATE__);
        this->WriteNumeric(004, "%s %s InspIRCd-1.2 %s %s %s", this->nick.c_str(), ServerInstance->Config->ServerName, ServerInstance->Modes->UserModeList().c_str(), ServerInstance->Modes->ChannelModeList().c_str(), ServerInstance->Modes->ParaModeList().c_str());
@@ -962,7 +961,7 @@ void User::FullConnect()
 
        FOREACH_MOD(I_OnPostConnect,OnPostConnect(this));
 
-       ServerInstance->SNO->WriteToSnoMask('c',"Client connecting on port %d: %s!%s@%s [%s] [%s]", this->GetPort(), this->nick.c_str(), this->ident.c_str(), this->host, this->GetIPString(), this->fullname.c_str());
+       ServerInstance->SNO->WriteToSnoMask('c',"Client connecting on port %d: %s!%s@%s [%s] [%s]", this->GetPort(), this->nick.c_str(), this->ident.c_str(), this->host.c_str(), this->GetIPString(), this->fullname.c_str());
        ServerInstance->Logs->Log("BANCACHE", DEBUG, "BanCache: Adding NEGATIVE hit for %s", this->GetIPString());
        ServerInstance->BanCache->AddHit(this->GetIPString(), "", "");
 }
@@ -1522,14 +1521,14 @@ bool User::ChangeName(const char* gecos)
                        return false;
                FOREACH_MOD(I_OnChangeName,OnChangeName(this,gecos));
        }
-       this->fullname.assign(gecos, 0, MAXGECOS+1);
+       this->fullname.assign(gecos, 0, ServerInstance->Config->Limits.MaxGecos);
 
        return true;
 }
 
 bool User::ChangeDisplayedHost(const char* shost)
 {
-       if (!this->dhost.compare(shost))
+       if (dhost == shost)
                return true;
 
        if (IS_LOCAL(this))
@@ -1553,10 +1552,10 @@ bool User::ChangeDisplayedHost(const char* shost)
        {
                for (UCListIter i = this->chans.begin(); i != this->chans.end(); i++)
                {
-                       i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name);
+                       i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name.c_str());
                        std::string n = this->ServerInstance->Modes->ModeString(this, i->first);
                        if (n.length() > 0)
-                               i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name, n.c_str());
+                               i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name.c_str(), n.c_str());
                }
        }
 
@@ -1574,7 +1573,7 @@ bool User::ChangeIdent(const char* newident)
        if (this->ServerInstance->Config->CycleHosts)
                this->WriteCommonExcept("%s","QUIT :Changing ident");
 
-       this->ident.assign(newident, 0, IDENTMAX + 1);
+       this->ident.assign(newident, 0, ServerInstance->Config->Limits.IdentMax + 1);
 
        this->InvalidateCache();
 
@@ -1582,10 +1581,10 @@ bool User::ChangeIdent(const char* newident)
        {
                for (UCListIter i = this->chans.begin(); i != this->chans.end(); i++)
                {
-                       i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name);
+                       i->first->WriteAllExceptSender(this, false, 0, "JOIN %s", i->first->name.c_str());
                        std::string n = this->ServerInstance->Modes->ModeString(this, i->first);
                        if (n.length() > 0)
-                               i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name, n.c_str());
+                               i->first->WriteAllExceptSender(this, true, 0, "MODE %s +%s", i->first->name.c_str(), n.c_str());
                }
        }