diff --git a/src/xpdev/multisock.c b/src/xpdev/multisock.c index 5f86af18eaa8fbdee4a856918299623aee93a202..4f536613ce616e2576440589ed53c67d8e69cfa3 100644 --- a/src/xpdev/multisock.c +++ b/src/xpdev/multisock.c @@ -169,7 +169,7 @@ BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type, return one_good; } -SOCKET xpms_accept(struct xpms_set *xpms_set, struct sockaddr * addr, +SOCKET xpms_accept(struct xpms_set *xpms_set, union xp_sockaddr * addr, socklen_t * addrlen, unsigned int timeout, void **cb_data) { fd_set read_fs; @@ -208,7 +208,7 @@ SOCKET xpms_accept(struct xpms_set *xpms_set, struct sockaddr * addr, if(FD_ISSET(xpms_set->socks[i].sock, &read_fs)) { if(cb_data) *cb_data=xpms_set->socks[i].cb_data; - return accept(xpms_set->socks[i].sock, addr, addrlen); + return accept(xpms_set->socks[i].sock, &addr->addr, addrlen); } if(FD_ISSET(xpms_set->socks[i].sock, &except_fs)) { closesocket(xpms_set->socks[i].sock); diff --git a/src/xpdev/multisock.h b/src/xpdev/multisock.h index 5af662a955ed4b86ff413aa94c6c9e0547581e0c..4bca6982bccd89bb9ef779e6eccfac48fd75821d 100644 --- a/src/xpdev/multisock.h +++ b/src/xpdev/multisock.h @@ -39,7 +39,7 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, BOOL xpms_add_list(struct xpms_set *xpms_set, int domain, int type, int protocol, str_list_t list, uint16_t default_port, const char *prot, void (*sock_init)(SOCKET, void *), int(*bind_init)(BOOL), void *cbdata); -SOCKET xpms_accept(struct xpms_set *, struct sockaddr * addr, +SOCKET xpms_accept(struct xpms_set *, union xp_sockaddr * addr, socklen_t * addrlen, unsigned int timeout, void **cb_data); #ifdef __cplusplus