info_slave returns better error explanations
authorAri Johnson <ari@theari.com>
Tue, 4 Aug 2015 14:51:37 +0000 (10:51 -0400)
committerAri Johnson <ari@theari.com>
Tue, 4 Aug 2015 14:51:37 +0000 (10:51 -0400)
src/info_slave.c

index 6b82690eca7d5e569088ea56342a02477ddb8cfc..84f4486a872aeee3047580a24f771de009d05672 100644 (file)
@@ -34,6 +34,7 @@
 #include <unistd.h>
 #endif
 #include <sys/uio.h>
+#include <errno.h>
 
 #include "conf.h"
 #include "externs.h"
@@ -182,16 +183,20 @@ main(int argc, char *argv[])
 
     bp = buf;
     if (getnameinfo(&remote.addr, rlen, host, sizeof host, NULL, 0,
-                   NI_NUMERICHOST | NI_NUMERICSERV) != 0)
-      safe_str("An error occured", buf, &bp);
-    else
+                   NI_NUMERICHOST | NI_NUMERICSERV) != 0) {
+      safe_str("Error: getnameinfo(remote): ", buf, &bp);
+      safe_str(strerror(errno), buf, &bp);
+    } else {
       safe_str(host, buf, &bp);
+    }
     safe_chr('^', buf, &bp);
     if (getnameinfo(&local.addr, llen, NULL, 0, lport, sizeof lport,
-                   NI_NUMERICHOST | NI_NUMERICSERV) != 0)
-      safe_str("An error occured", buf, &bp);
-    else
+                   NI_NUMERICHOST | NI_NUMERICSERV) != 0) {
+      safe_str("Error: getnameinfo(local): ", buf, &bp);
+      safe_str(strerror(errno), buf, &bp);
+    } else {
       safe_str(lport, buf, &bp);
+    }
     safe_chr('^', buf, &bp);
 
     if (use_ident > 0) {
@@ -208,7 +213,8 @@ main(int argc, char *argv[])
     if (use_dns) {
       if (getnameinfo(&remote.addr, rlen, host, sizeof host, NULL, 0,
                      NI_NUMERICSERV) != 0) {
-       safe_str("An error occured", buf, &bp);
+        safe_str("Error: getnameinfo(local/dns): ", buf, &bp);
+        safe_str(strerror(errno), buf, &bp);
       } else {
        safe_str(host, buf, &bp);
       }