1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
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 e8106e2..27ad390 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 8d41374..ee778c2 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
@@ -701,7 +702,7 @@ struct sockfuncs {
int (WINAPI *_getsockname)(SOCKET s, struct sockaddr * name, int * namelen);
int (WINAPI *_getsockopt)(SOCKET s, int level, int optname, char * optval, int * optlen);
int (WINAPI *_setsockopt)(SOCKET s, int level, int optname, const char *optval, int optlen);
- int (WINAPI *_poll)(struct pollfd *fds, unsigned int nfds, int timeout);
+ int (WINAPI *_poll)(struct pollfd *fds, nfds_t nfds, int timeout);
int (WINAPI *_send)(SOCKET s, const char *msg, int len, int flags);
int (WINAPI *_sendto)(SOCKET s, const char *msg, int len, int flags, const struct sockaddr *to, int tolen);
int (WINAPI *_recv)(SOCKET s, char *buf, int len, int flags);
@@ -718,7 +719,7 @@ struct sockfuncs {
int (*_getsockname)(SOCKET s, struct sockaddr * name, socklen_t * namelen);
int (*_getsockopt)(SOCKET s, int level, int optname, void * optval, socklen_t * optlen);
int (*_setsockopt)(int s, int level, int optname, const void *optval, socklen_t optlen);
- int (*_poll)(struct pollfd *fds, unsigned int nfds, int timeout);
+ int (*_poll)(struct pollfd *fds, nfds_t nfds, int timeout);
size_t (*_send)(SOCKET s, const void *msg, size_t len, int flags);
size_t (*_sendto)(SOCKET s, const void *msg, size_t len, int flags, const struct sockaddr *to, SASIZETYPE tolen);
size_t (*_recv)(SOCKET s, void *buf, size_t len, int flags);
|