X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fserver.c;h=5a9e050b71c20f5d99413f4cff3165d212076feb;hb=4ac8d5e93bf09c86e8352cdc2099b35ec89ba3a9;hp=1dda8b4545edfe6481557873588365b878fe00bb;hpb=4fe2472f5302b74df5dbb43822711487f1fd9851;p=catta diff --git a/src/server.c b/src/server.c index 1dda8b4..5a9e050 100644 --- a/src/server.c +++ b/src/server.c @@ -849,7 +849,7 @@ static int originates_from_local_legacy_unicast_socket(CattaServer *s, const Cat socklen_t l = sizeof(lsa); if (getsockname(s->fd_legacy_unicast_ipv4, (struct sockaddr*) &lsa, &l) != 0) - catta_log_warn("getsockname(): %s", strerror(errno)); + catta_log_warn("getsockname(): %s", errnostrsocket()); else return catta_port_from_sockaddr((struct sockaddr*) &lsa) == port; @@ -860,7 +860,7 @@ static int originates_from_local_legacy_unicast_socket(CattaServer *s, const Cat socklen_t l = sizeof(lsa); if (getsockname(s->fd_legacy_unicast_ipv6, (struct sockaddr*) &lsa, &l) != 0) - catta_log_warn("getsockname(): %s", strerror(errno)); + catta_log_warn("getsockname(): %s", errnostrsocket()); else return catta_port_from_sockaddr((struct sockaddr*) &lsa) == port; } @@ -1381,12 +1381,14 @@ CattaServer *catta_server_new(const CattaPoll *poll_api, const CattaServerConfig else catta_server_config_init(&s->config); + winsock_init(); // on Windows, call WSAStartup; no-op on other platforms if ((e = setup_sockets(s)) < 0) { if (error) *error = e; catta_server_config_free(&s->config); catta_free(s); + winsock_exit(); return NULL; } @@ -1533,6 +1535,7 @@ void catta_server_free(CattaServer* s) { catta_server_config_free(&s->config); catta_free(s); + winsock_exit(); // on Windows, call WSACleanup(); no-op on other platforms } const char* catta_server_get_domain_name(CattaServer *s) {