]> diplodocus.org Git - nmh/blobdiff - sbr/client.c
Moved readline check to after termcap/curses check in configure.ac.
[nmh] / sbr / client.c
index 763b2a4cb6623a9ad9fafe3ebdfc9874b79ee5ea..7417ed54c06f0a40fad5aefdf9e8fd7dd0359966 100644 (file)
 #include <h/mh.h>
 #include <h/mts.h>
 #include <h/utils.h>
-#include <errno.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <netdb.h>
 #include <arpa/inet.h>
 
-#define        TRUE         1
-#define        FALSE        0
-
 #define        MAXARGS   1000
 
 /*
@@ -80,12 +76,15 @@ client (char *args, char *service, char *response, int len_response, int debug)
        for (ai = res; ai != NULL; ai = ai->ai_next) {
            if (debug) {
                char address[NI_MAXHOST];
+               char port[NI_MAXSERV];
 
                rc = getnameinfo(ai->ai_addr, ai->ai_addrlen, address,
-                                sizeof(address), NULL, 0, NI_NUMERICHOST);
+                                sizeof(address), port, sizeof port,
+                                NI_NUMERICHOST | NI_NUMERICSERV);
 
-               fprintf(stderr, "Connecting to %s...\n",
-                       rc ? "unknown" : address);
+               fprintf(stderr, "Connecting to %s:%s...\n",
+                       rc ? "unknown" : address,
+                       rc ? "--" : port);
            }
 
            sd = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
@@ -98,7 +97,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;
            }
 
@@ -112,7 +111,7 @@ client (char *args, char *service, char *response, int len_response, int debug)
        freeaddrinfo(res);
     }
 
-    client_freelist(ap);
+    client_freelist(arguments);
     strncpy (response, "no servers available", len_response);
     return NOTOK;
 }
@@ -125,8 +124,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);
 }
 
 
@@ -170,7 +168,7 @@ static int
 client_brkany (char chr, char *strg)
 {
     register char *sp;
+
     if (strg)
        for (sp = strg; *sp; sp++)
            if (chr == *sp)
@@ -206,4 +204,3 @@ client_getcpy (char *str)
     memcpy (cp, str, len);
     return cp;
 }
-