From e85a980ed34816fa7bb4a5f11adeab18468a0fcf Mon Sep 17 00:00:00 2001 From: deuce <> Date: Sat, 31 Aug 2013 07:50:33 +0000 Subject: [PATCH] Fix a couple boneheaded errors, and extern "C" the functions. --- src/xpdev/multisock.c | 6 +++--- src/xpdev/multisock.h | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/xpdev/multisock.c b/src/xpdev/multisock.c index 17bd745827..a74038cbc0 100644 --- a/src/xpdev/multisock.c +++ b/src/xpdev/multisock.c @@ -71,7 +71,7 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, } for(cur=res; cur; cur=cur->ai_next) { - new_socks=(struct xpms_sockdef *)realloc(xpms_set->socks, sizeof(struct xpms_set)*xpms_set->sock_count+1); + new_socks=(struct xpms_sockdef *)realloc(xpms_set->socks, sizeof(struct xpms_sockdef)*(xpms_set->sock_count+1)); if(new_socks==NULL) { /* This may be a partial failure */ if(xpms_set->lprintf) @@ -114,9 +114,9 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, bind_init(TRUE); } - if(!listen(xpms_set->socks[xpms_set->sock_count].sock, SOMAXCONN)) { + if(listen(xpms_set->socks[xpms_set->sock_count].sock, SOMAXCONN)==-1) { if(xpms_set->lprintf) - xpms_set->lprintf(LOG_WARNING, "%04d !ERROR %d listen()ing op port %d" + xpms_set->lprintf(LOG_WARNING, "%04d !ERROR %d listen()ing on port %d" , xpms_set->socks[xpms_set->sock_count].sock, ERROR_VALUE, port); closesocket(xpms_set->socks[xpms_set->sock_count].sock); FREE_AND_NULL(xpms_set->socks[xpms_set->sock_count].address); diff --git a/src/xpdev/multisock.h b/src/xpdev/multisock.h index c1980e9708..ea73fa19e4 100644 --- a/src/xpdev/multisock.h +++ b/src/xpdev/multisock.h @@ -25,6 +25,10 @@ struct xpms_set { #define XPMS_FOREVER UINT_MAX +#ifdef __cplusplus +extern "C" { +#endif + struct xpms_set *xpms_create(unsigned int retries, unsigned int wait_secs, int (*lprintf)(int level, const char *fmt, ...)); void xpms_destroy(struct xpms_set *xpms_set); @@ -34,4 +38,8 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, SOCKET xpms_accept(struct xpms_set *, struct sockaddr * addr, socklen_t * addrlen, unsigned int timeout, void **cb_data); +#ifdef __cplusplus +} +#endif + #endif -- GitLab