Skip to content
Snippets Groups Projects
Commit e85a980e authored by deuce's avatar deuce
Browse files

Fix a couple boneheaded errors, and extern "C" the functions.

parent ae81f19c
Branches
Tags
No related merge requests found
...@@ -71,7 +71,7 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, ...@@ -71,7 +71,7 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type,
} }
for(cur=res; cur; cur=cur->ai_next) { 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) { if(new_socks==NULL) {
/* This may be a partial failure */ /* This may be a partial failure */
if(xpms_set->lprintf) if(xpms_set->lprintf)
...@@ -114,9 +114,9 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, ...@@ -114,9 +114,9 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type,
bind_init(TRUE); 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) 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); , xpms_set->socks[xpms_set->sock_count].sock, ERROR_VALUE, port);
closesocket(xpms_set->socks[xpms_set->sock_count].sock); closesocket(xpms_set->socks[xpms_set->sock_count].sock);
FREE_AND_NULL(xpms_set->socks[xpms_set->sock_count].address); FREE_AND_NULL(xpms_set->socks[xpms_set->sock_count].address);
......
...@@ -25,6 +25,10 @@ struct xpms_set { ...@@ -25,6 +25,10 @@ struct xpms_set {
#define XPMS_FOREVER UINT_MAX #define XPMS_FOREVER UINT_MAX
#ifdef __cplusplus
extern "C" {
#endif
struct xpms_set *xpms_create(unsigned int retries, unsigned int wait_secs, struct xpms_set *xpms_create(unsigned int retries, unsigned int wait_secs,
int (*lprintf)(int level, const char *fmt, ...)); int (*lprintf)(int level, const char *fmt, ...));
void xpms_destroy(struct xpms_set *xpms_set); void xpms_destroy(struct xpms_set *xpms_set);
...@@ -34,4 +38,8 @@ BOOL xpms_add(struct xpms_set *xpms_set, int domain, int type, ...@@ -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, SOCKET xpms_accept(struct xpms_set *, struct sockaddr * addr,
socklen_t * addrlen, unsigned int timeout, void **cb_data); socklen_t * addrlen, unsigned int timeout, void **cb_data);
#ifdef __cplusplus
}
#endif
#endif #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment