X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=sbr%2Fclient.c;h=7ab49a98f05e9c274e3791f2ed9a4381a718fe1b;hb=c897634e1c28697a6df572de00e66579567ad2a6;hp=ae6968f70c4922da746d6e46367bfe2be361a6b2;hpb=7b98850d3b8b2453b473fdfb6db52f4aa3fe39b6;p=mmh diff --git a/sbr/client.c b/sbr/client.c index ae6968f..7ab49a9 100644 --- a/sbr/client.c +++ b/sbr/client.c @@ -2,8 +2,6 @@ /* * client.c -- connect to a server * - * $Id$ - * * This code is Copyright (c) 2002, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for * complete copyright information. @@ -16,13 +14,7 @@ #include #include #include - -#ifdef HAVE_ARPA_INET_H -# include -#endif - -#define TRUE 1 -#define FALSE 0 +#include #define MAXARGS 1000 @@ -60,7 +52,9 @@ client (char *args, char *service, char *response, int len_response, int debug) } memset(&hints, 0, sizeof(hints)); +#ifdef AI_ADDRCONFIG hints.ai_flags = AI_ADDRCONFIG; +#endif hints.ai_family = PF_UNSPEC; hints.ai_socktype = SOCK_STREAM; @@ -85,7 +79,7 @@ client (char *args, char *service, char *response, int len_response, int debug) char address[NI_MAXHOST]; rc = getnameinfo(ai->ai_addr, ai->ai_addrlen, address, - sizeof(address), NULL, NULL, NI_NUMERICHOST); + sizeof(address), NULL, 0, NI_NUMERICHOST); fprintf(stderr, "Connecting to %s...\n", rc ? "unknown" : address); @@ -101,7 +95,7 @@ client (char *args, char *service, char *response, int len_response, int debug) if (connect(sd, ai->ai_addr, ai->ai_addrlen) == 0) { freeaddrinfo(res); - client_freelist(ap); + client_freelist(arguments); return sd; } @@ -111,10 +105,11 @@ client (char *args, char *service, char *response, int len_response, int debug) close(sd); } + + freeaddrinfo(res); } - freeaddrinfo(res); - client_freelist(ap); + client_freelist(arguments); strncpy (response, "no servers available", len_response); return NOTOK; } @@ -127,8 +122,7 @@ client (char *args, char *service, char *response, int len_response, int debug) static void client_freelist(char **list) { - while (*list++ != NULL) - free(*list); + free(*list); }