diff --git a/usr.bin/w/w.1 b/usr.bin/w/w.1 index a8c30be5950d..715174b8c622 100644 --- a/usr.bin/w/w.1 +++ b/usr.bin/w/w.1 @@ -85,6 +85,10 @@ default Do not attempt to resolve network addresses (normally .Nm interprets addresses and attempts to display them as names). +When +.Fl n +is specified more than once, hostnames stored in utmp are attempted to +resolve to display them as network addresses. .El .Pp If one or more diff --git a/usr.bin/w/w.c b/usr.bin/w/w.c index 0c955acd8fe7..d7743b4e7819 100644 --- a/usr.bin/w/w.c +++ b/usr.bin/w/w.c @@ -180,7 +180,7 @@ main(int argc, char *argv[]) nlistf = optarg; break; case 'n': - nflag = 1; + nflag += 1; break; case 'f': case 'l': case 's': case 'u': case 'w': warnx("[-flsuw] no longer supported"); @@ -378,12 +378,12 @@ main(int argc, char *argv[]) lsin->sin_family = AF_INET; isaddr = 1; } - if (!nflag) { + if (nflag == 0) { /* Attempt to change an IP address into a name */ if (isaddr && realhostname_sa(fn, sizeof(fn), sa, sa->sa_len) == HOSTNAME_FOUND) p = fn; - } else if (!isaddr) { + } else if (!isaddr && nflag > 1) { /* * If a host has only one A/AAAA RR, change a * name into an IP address