#include "dns.h"
#include "helperfuncs.h"
#include "hashcomp.h"
+#include "socketengine.h"
+
+extern SocketEngine* SE;
extern int MaxWhoResults;
Lookup()
{
strcpy(u,"");
- log(DEBUG,"Create class Lookup");
}
void Reset()
~Lookup()
{
- log(DEBUG,"Delete class Lookup");
}
bool DoLookup(std::string nick)
return false;
}
- bool Done()
+ bool Done(int fdcheck)
{
if (hostname != "")
{
log(DEBUG,"Doing forward lookup here with host %s",hostname.c_str());
// doing forward lookup
userrec* usr = NULL;
- if (resolver2.HasResult())
+ if (resolver2.HasResult(fdcheck))
{
log(DEBUG,"resolver2 has result");
if (resolver2.GetFD() != 0)
{
// doing reverse lookup
userrec* usr = NULL;
- if (resolver1.HasResult())
+ if (resolver1.HasResult(fdcheck))
{
usr = Find(u);
if ((usr) && (usr->dns_done))
return true;
}
}
- log(DEBUG,"Starting forwardlookup now for host '%s'...",hostname.c_str());
- if ((resolver2.GetFD() <= 0) && (hostname != ""))
+ if (hostname != "")
{
+ log(DEBUG,"Starting forwardlookup now for host '%s'...",hostname.c_str());
resolver2.ForwardLookup(hostname);
}
}
return false;
}
-void dns_poll()
+void dns_poll(int fdcheck)
{
// do we have items in the queue?
for (int j = 0; j <= max_fd_alloc; j++)
// are any ready, or stale?
if (dnsq[j].GetFD())
{
- if (dnsq[j].Done())
+ if (dnsq[j].Done(fdcheck))
{
dnsq[j].Reset();
}