summaryrefslogtreecommitdiff
path: root/net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch')
-rw-r--r--net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch b/net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch
new file mode 100644
index 000000000000..9c51f90f1df1
--- /dev/null
+++ b/net-proxy/3proxy/files/3proxy-0.9.4-function-pointer-fix.patch
@@ -0,0 +1,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);