summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch49
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);