gentoo/net-proxy/3proxy/files/3proxy-0.9.5-function-pointer-fix.patch
Nicolas PARLANT f58b6eb230
net-proxy/3proxy: add 0.9.5
update HOMEPAGE (.ru -> .org)

add user/group

patches rebased

add confdir / initscript / unit.service

Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/41457
Signed-off-by: Sam James <sam@gentoo.org>
2025-04-29 20:28:21 +01:00

50 lines
1.8 KiB
Diff

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);