diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-08-31 01:05:00 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-08-31 01:05:00 +0000 |
commit | 29237b699f47488962133b54b0b3d1085f3c068d (patch) | |
tree | 40930c0f2750344f67fecd2238fd203a8cf4be6b /src/user_resolver.cpp | |
parent | dc13e23883f2640de3335b679b38a8bf483b03a5 (diff) |
Save 4 bytes (assuming sizeof(ptr) == 2) per user record, storing unneeded pointers (self managed class) that nothing was ever done with.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10359 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/user_resolver.cpp')
-rw-r--r-- | src/user_resolver.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/user_resolver.cpp b/src/user_resolver.cpp index b5f03ca09..ec2f0cb87 100644 --- a/src/user_resolver.cpp +++ b/src/user_resolver.cpp @@ -14,7 +14,6 @@ /* $Core */ #include "inspircd.h" - UserResolver::UserResolver(InspIRCd* Instance, User* user, std::string to_resolve, QueryType qt, bool &cache) : Resolver(Instance, to_resolve, qt, cache), bound_user(user) { @@ -28,6 +27,8 @@ void UserResolver::OnLookupComplete(const std::string &result, unsigned int ttl, if (resultnum) return; + UserResolver *res_forward; // for forward-resolution + if ((!this->fwd) && (ServerInstance->SE->GetRef(this->bound_fd) == this->bound_user)) { this->bound_user->stored_host = result; @@ -42,14 +43,16 @@ void UserResolver::OnLookupComplete(const std::string &result, unsigned int ttl, { /* IPV6 forward lookup (with possibility of 4in6) */ const char* ip = this->bound_user->GetIPString(); - bound_user->res_forward = new UserResolver(this->ServerInstance, this->bound_user, result, (!strncmp(ip, "0::ffff:", 8) ? DNS_QUERY_A : DNS_QUERY_AAAA), lcached); + res_forward = new UserResolver(this->ServerInstance, this->bound_user, result, (!strncmp(ip, "0::ffff:", 8) ? DNS_QUERY_A : DNS_QUERY_AAAA), lcached); } else /* IPV4 lookup (mixed protocol mode) */ #endif - /* IPV4 lookup (ipv4 only mode) */ - bound_user->res_forward = new UserResolver(this->ServerInstance, this->bound_user, result, DNS_QUERY_A, lcached); - this->ServerInstance->AddResolver(bound_user->res_forward, lcached); + { + /* IPV4 lookup (ipv4 only mode) */ + res_forward = new UserResolver(this->ServerInstance, this->bound_user, result, DNS_QUERY_A, lcached); + } + this->ServerInstance->AddResolver(res_forward, lcached); } } catch (CoreException& e) |