From fa04fb00cf96c8af5045de576b146b3a09f9b2ed Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 24 Oct 2007 15:48:00 +0000 Subject: Try this w00t, compiles, test running now git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8343 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/configreader.cpp | 17 +++++++++-------- src/users.cpp | 18 +++++++++++------- 2 files changed, 20 insertions(+), 15 deletions(-) (limited to 'src') diff --git a/src/configreader.cpp b/src/configreader.cpp index 28c82ef77..779c288b3 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -417,7 +417,7 @@ goagain: /* change this: only delete a class with refcount 0 */ for (ClassVector::iterator i = conf->Classes.begin(); i != conf->Classes.end(); i++) { - ConnectClass *c = &(*i); + ConnectClass *c = *i; if (c->RefCount == 0) { @@ -459,10 +459,11 @@ bool DoConnect(ServerConfig* conf, const char*, char**, ValueList &values, int*) */ for (ClassVector::iterator item = conf->Classes.begin(); item != conf->Classes.end(); ++item) { - if (item->GetName() == parent) + ConnectClass* c = *item; + if (c->GetName() == parent) { - ConnectClass c(name, *item); - c.Update(timeout, flood, *allow ? allow : deny, pingfreq, password, threshold, sendq, recvq, localmax, globalmax, maxchans, port); + ConnectClass* c = new ConnectClass(name, c); + c->Update(timeout, flood, *allow ? allow : deny, pingfreq, password, threshold, sendq, recvq, localmax, globalmax, maxchans, port); conf->Classes.push_back(c); } } @@ -472,14 +473,14 @@ bool DoConnect(ServerConfig* conf, const char*, char**, ValueList &values, int*) { if (*allow) { - ConnectClass c(name, timeout, flood, allow, pingfreq, password, threshold, sendq, recvq, localmax, globalmax, maxchans); - c.SetPort(port); + ConnectClass* c = new ConnectClass(name, timeout, flood, allow, pingfreq, password, threshold, sendq, recvq, localmax, globalmax, maxchans); + c->SetPort(port); conf->Classes.push_back(c); } else { - ConnectClass c(name, deny); - c.SetPort(port); + ConnectClass* c = new ConnectClass(name, deny); + c->SetPort(port); conf->Classes.push_back(c); } } diff --git a/src/users.cpp b/src/users.cpp index 0e08a8848..08e38f36d 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -1725,9 +1725,11 @@ ConnectClass* User::SetClass(const std::string &explicit_name) { for (ClassVector::iterator i = ServerInstance->Config->Classes.begin(); i != ServerInstance->Config->Classes.end(); i++) { - if (explicit_name == i->GetName()) + ConnectClass* c = *i; + + if (explicit_name == c->GetName()) { - found = &(*i); + found = c; } } } @@ -1735,20 +1737,22 @@ ConnectClass* User::SetClass(const std::string &explicit_name) { for (ClassVector::iterator i = ServerInstance->Config->Classes.begin(); i != ServerInstance->Config->Classes.end(); i++) { - if (((match(this->GetIPString(),i->GetHost().c_str(),true)) || (match(this->host,i->GetHost().c_str())))) + ConnectClass* c = *i; + + if (((match(this->GetIPString(),c->GetHost().c_str(),true)) || (match(this->host,c->GetHost().c_str())))) { - if (i->GetPort()) + if (c->GetPort()) { - if (this->GetPort() == i->GetPort()) + if (this->GetPort() == c->GetPort()) { - found = &(*i); + found = c; } else continue; } else { - found = &(*i); + found = c; } } } -- cgit v1.2.3