X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fgetaddrinfo.c;h=5796e32af560c3cf78b0d70b242824b02c6eb352;hb=e3d8ed2a9688b50e22e71755d83984659879ecf3;hp=a5f6a3a6ec241a8e2b8c5f7c46b9ef8759ab15b5;hpb=f9504dae81fde52bb1c1669fdd0c9e3aba818a75;p=pazpar2-moved-to-github.git diff --git a/src/getaddrinfo.c b/src/getaddrinfo.c index a5f6a3a..5796e32 100644 --- a/src/getaddrinfo.c +++ b/src/getaddrinfo.c @@ -34,14 +34,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #include #endif #ifdef WIN32 -#include +#include +#include #endif #if HAVE_NETDB_H #include #endif -#if HAVE_NETINET_IN_H -#include -#endif #include #include @@ -67,11 +65,11 @@ struct work { static int log_level = YLOG_LOG; -void perform_getaddrinfo(struct work *w) +static void perform_getaddrinfo(struct work *w) { struct addrinfo hints, *res; char host[512], *cp; - const char *port = 0; + char *port = 0; int error; hints.ai_flags = 0; @@ -98,13 +96,14 @@ void perform_getaddrinfo(struct work *w) } else { + char n_host[512]; if (getnameinfo((struct sockaddr *) res->ai_addr, res->ai_addrlen, - host, sizeof(host)-1, + n_host, sizeof(n_host)-1, 0, 0, NI_NUMERICHOST) == 0) { - w->ipport = xmalloc(strlen(host) + (port ? strlen(port) : 0) + 2); - strcpy(w->ipport, host); + w->ipport = xmalloc(strlen(n_host) + (port ? strlen(port) : 0) + 2); + strcpy(w->ipport, n_host); if (port) { strcat(w->ipport, ":"); @@ -178,7 +177,7 @@ static void getaddrinfo_start(iochan_man_t iochan_man) int host_getaddrinfo(struct host *host, iochan_man_t iochan_man) { struct work *w = xmalloc(sizeof(*w)); - int use_thread = 0; /* =0 to disable threading entirely */ + int use_thread = 1; /* =0 to disable threading entirely */ w->hostport = host->tproxy ? host->tproxy : host->proxy; w->ipport = 0;