diff options
Diffstat (limited to 'net-proxy/3proxy/files/3proxy-0.9.5-function-pointer-fix.patch')
| -rw-r--r-- | net-proxy/3proxy/files/3proxy-0.9.5-function-pointer-fix.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/net-proxy/3proxy/files/3proxy-0.9.5-function-pointer-fix.patch b/net-proxy/3proxy/files/3proxy-0.9.5-function-pointer-fix.patch new file mode 100644 index 000000000000..665e19793b1d --- /dev/null +++ b/net-proxy/3proxy/files/3proxy-0.9.5-function-pointer-fix.patch @@ -0,0 +1,49 @@ +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); |
