diff options
-rw-r--r-- | lib/print.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/print.c b/lib/print.c index 7ec786f..b045d17 100644 --- a/lib/print.c +++ b/lib/print.c @@ -158,7 +158,8 @@ __getnameinfo##f(char *buf, unsigned int len, \ sizeof(saddr), \ buf, len, NULL, 0, flags); \ \ - if (err == EAI_AGAIN && !(flags & NI_NUMERICHOST)) \ + if (!(flags & NI_NUMERICHOST) && \ + (err == EAI_AGAIN || (err == 0 && strchr(buf, '-') != NULL))) \ err = getnameinfo((const struct sockaddr *)&saddr, \ sizeof(saddr), \ buf, len, NULL, 0, \ |