summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-09-30 18:14:51 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-09-30 18:14:51 +0000
commit685a4c53199cf067d02dc6f7ed91d20d9f6ddd1e (patch)
tree01f01dbe0b699568a4f861b9242a6c578eedfcc0
parent492efc5ce538976ec3e51b5dfc8a2fe068db806b (diff)
Whoops, forgot some stuff for when GECOS was moved to position 10 in the UID command, this was broken
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8102 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/m_spanningtree/treesocket1.cpp4
-rw-r--r--src/users.cpp11
2 files changed, 10 insertions, 5 deletions
diff --git a/src/modules/m_spanningtree/treesocket1.cpp b/src/modules/m_spanningtree/treesocket1.cpp
index 2c8fc34a9..b954ade9b 100644
--- a/src/modules/m_spanningtree/treesocket1.cpp
+++ b/src/modules/m_spanningtree/treesocket1.cpp
@@ -1083,7 +1083,7 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa
strlcpy(_new->dhost, params[4].c_str(),64);
_new->server = this->Instance->FindServerNamePtr(source.c_str());
strlcpy(_new->ident, params[5].c_str(),IDENTMAX);
- strlcpy(_new->fullname, params[8].c_str(),MAXGECOS);
+ strlcpy(_new->fullname, params[9].c_str(),MAXGECOS);
_new->registered = REG_ALL;
_new->signon = signon;
_new->age = age;
@@ -1123,7 +1123,7 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa
if (dosend)
this->Instance->SNO->WriteToSnoMask('C',"Client connecting at %s: %s!%s@%s [%s] [%s]",_new->server,_new->nick,_new->ident,_new->host, _new->GetIPString(), _new->fullname);
- params[8] = ":" + params[8];
+ params[9] = ":" + params[9];
Utils->DoOneToAllButSender(source, "UID", params, source);
// Increment the Source Servers User Count..
diff --git a/src/users.cpp b/src/users.cpp
index 4f5c567d2..8ab475bd9 100644
--- a/src/users.cpp
+++ b/src/users.cpp
@@ -309,13 +309,18 @@ const char* userrec::FormatModes()
void userrec::DecrementModes()
{
- for (int n = 0; n < 64; n++)
+ ServerInstance->Log(DEBUG,"DecrementModes()");
+ for (unsigned char n = 'A'; n <= 'z'; n++)
{
- if (modes[n])
+ if (modes[n-65])
{
- ModeHandler* mh = ServerInstance->Modes->FindMode(n+65, MODETYPE_USER);
+ ServerInstance->Log(DEBUG,"DecrementModes() found mode %c", n);
+ ModeHandler* mh = ServerInstance->Modes->FindMode(n, MODETYPE_USER);
if (mh)
+ {
+ ServerInstance->Log(DEBUG,"Found handler %c and call ChangeCount", n);
mh->ChangeCount(-1);
+ }
}
}
}