about summary refs log tree commit homepage
path: root/inherit.c
diff options
context:
space:
mode:
Diffstat (limited to 'inherit.c')
-rw-r--r--inherit.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/inherit.c b/inherit.c
index 3ec280c..7110067 100644
--- a/inherit.c
+++ b/inherit.c
@@ -36,21 +36,18 @@ static void register_listen_fd(int fd)
 {
         struct listener tmp;
         struct listener *ins;
-        int flags = NI_NUMERICHOST | NI_NUMERICSERV;
-        char hbuf[MOG_NI_MAXHOST];
-        char sbuf[MOG_NI_MAXSERV];
+        struct mog_ni ni;
         int rc;
 
         tmp.len = (socklen_t)sizeof(tmp.as);
         if (getsockname(fd, mog_sockaddr_sa(&tmp.as), &tmp.len) != 0)
                 die_errno("getsockname(fd=%d) failed", fd);
 
-        rc = getnameinfo(mog_sockaddr_sa(&tmp.as), tmp.len,
-                         hbuf, sizeof(hbuf), sbuf, sizeof(sbuf), flags);
+        rc = mog_nameinfo(&tmp.as, tmp.len, &ni);
         if (rc != 0)
-                die("getnameinfo failed: %s", gai_strerror(rc));
+                die("getnameinfo failed: %s (fd=%d)", gai_strerror(rc), fd);
 
-        syslog(LOG_INFO, "inherited %s:%s on fd=%d", hbuf, sbuf, fd);
+        syslog(LOG_INFO, "inherited %s%s on fd=%d", ni.ni_host, ni.ni_serv, fd);
 
         ins = xmalloc(sizeof(*ins));
         *ins = tmp;
@@ -58,7 +55,8 @@ static void register_listen_fd(int fd)
 
         switch (hash_insert_if_absent(listeners, ins, NULL)) {
         case 0:
-                die("duplicate listener %s:%s on fd=%d", hbuf, sbuf, fd);
+                die("duplicate listener %s%s on fd=%d",
+                        ni.ni_host, ni.ni_serv, fd);
                 break;
         case 1: /* success */
                 return;