X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Ftcpip.c;h=d72bc445d728641ce55ab327dff9cdbf2db4f00c;hp=bd4db34f2614a151d9b226a17bfb629d9a6e1df8;hb=7b4adcc54d64c9196a8c19a7f69c850774b8776b;hpb=88d3bedf772316f87e1996f655ccf8d1e2589755 diff --git a/src/tcpip.c b/src/tcpip.c index bd4db34..d72bc44 100644 --- a/src/tcpip.c +++ b/src/tcpip.c @@ -751,8 +751,12 @@ int tcpip_listen(COMSTACK h, char *raddr, int *addrlen, int (*check_ip)(void *cd, const char *a, int len, int t), void *cd) { +#ifdef WIN32 + /* we don't get peer address on Windows (via accept) */ +#else struct sockaddr_in addr; YAZ_SOCKLEN_T len = sizeof(addr); +#endif TRC(fprintf(stderr, "tcpip_listen pid=%d\n", getpid())); if (h->state != CS_ST_IDLE) @@ -792,6 +796,10 @@ int tcpip_listen(COMSTACK h, char *raddr, int *addrlen, } return -1; } +#ifdef WIN32 + if (addrlen) + *addrlen = 0; +#else if (addrlen && (size_t) (*addrlen) >= sizeof(struct sockaddr_in)) memcpy(raddr, &addr, *addrlen = sizeof(struct sockaddr_in)); else if (addrlen) @@ -808,6 +816,7 @@ int tcpip_listen(COMSTACK h, char *raddr, int *addrlen, h->newfd = -1; return -1; } +#endif h->state = CS_ST_INCON; return 0; }