Use poll with nfds_t type

Fixes: https://github.com/3proxy/3proxy/issues/895
Bug: https://bugs.gentoo.org/881015
Upstream-PR: https://github.com/3proxy/3proxy/pull/907

diff --git a/src/common.c b/src/common.c
index ec25eb6..7a64a08 100644
--- a/src/common.c
+++ b/src/common.c
@@ -157,7 +157,7 @@ int
  WINAPI
 #endif
 
-    mypoll(struct mypollfd *fds, unsigned int nfds, int timeout){
+    mypoll(struct mypollfd *fds, nfds_t nfds, int timeout){
 	fd_set readfd;
 	fd_set writefd;
 	fd_set oobfd;
diff --git a/src/structures.h b/src/structures.h
index a2f5ba7..0db681b 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -69,6 +69,7 @@ int mutex_unlock(int *val);
 #ifdef WITH_POLL
 #include <poll.h>
 #else
+typedef unsigned int nfds_t;
 #ifdef WITH_WSAPOLL
 
 #define poll(A,B,C) WSAPoll(A,B,C)
@@ -84,7 +85,7 @@ int
 #ifdef _WIN32
   WINAPI
 #endif
-   mypoll(struct mypollfd *fds, unsigned int nfds, int timeout);
+   mypoll(struct mypollfd *fds, nfds_t nfds, int timeout);
 #ifndef POLLIN
 #define POLLIN 1
 #endif
@@ -434,7 +435,7 @@ struct sockfuncs {
 	int (WINAPI *_getsockname)(void* state, SOCKET s, struct sockaddr * name, int * namelen);
    	int (WINAPI *_getsockopt)(void* state, SOCKET s, int level, int optname, char * optval, int * optlen);
 	int (WINAPI *_setsockopt)(void* state, SOCKET s, int level, int optname, const char *optval, int optlen);
-	int (WINAPI *_poll)(void* state, struct pollfd *fds, unsigned int nfds, int timeout);
+	int (WINAPI *_poll)(void* state, struct pollfd *fds, nfds_t nfds, int timeout);
 	int (WINAPI *_send)(void* state, SOCKET s, const char *msg, int len, int flags);
 	int  (WINAPI *_sendto)(void* state, SOCKET s, const char *msg, int len, int flags, const struct sockaddr *to, int tolen);
 	int  (WINAPI *_recv)(void* state, SOCKET s, char *buf, int len, int flags);