summaryrefslogtreecommitdiff
path: root/src/socketengine_iocp.cpp
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-15 21:25:58 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-08-15 21:25:58 +0000
commit8eb405767d509b3625ccbdf2474722c0dd566f6e (patch)
treea1316705d32e26ff52c30fff4a0d9a89148ba904 /src/socketengine_iocp.cpp
parent8cebdce0933438c32fc5821dd16d090ea06fd8cc (diff)
This is now correct.
No win32 #ifdefs in the base class, being as IOCPEngine is only built on windows we can put the code here without the need for ifdef. The original check in socketengine_iocp was broken, copied burlex's fixed version into the child class git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7724 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src/socketengine_iocp.cpp')
-rw-r--r--src/socketengine_iocp.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/socketengine_iocp.cpp b/src/socketengine_iocp.cpp
index 3581904ed..4eb9f83cd 100644
--- a/src/socketengine_iocp.cpp
+++ b/src/socketengine_iocp.cpp
@@ -456,15 +456,16 @@ bool IOCPEngine::HasFd(int fd)
bool IOCPEngine::BoundsCheckFd(EventHandler* eh)
{
- int* fake_fd = NULL;
- if (!eh)
- return false;
- if (!eh->GetExt("internal_fd", fake_fd))
+ int * internal_fd;
+ if (!eh || eh->GetFd() < 0)
return false;
- if ((*fake_fd < 0) || (*fake_fd > MAX_DESCRIPTORS))
+
+ if(!eh->GetExt("internal_fd", internal_fd))
return false;
- if ((eh->GetFd() < 0) || (eh->GetFd() > MAX_DESCRIPTORS))
+
+ if(*internal_fd > MAX_DESCRIPTORS)
return false;
+
return true;
}