|
|
| version 1.6, 2004/03/23 17:56:29 | version 1.7, 2004/03/23 18:25:51 |
|---|---|
| Line 91 int pid, rtm_addrs; | Line 91 int pid, rtm_addrs; |
| int s; | int s; |
| int forcehost, forcenet, doflush, nflag, af, qflag, tflag, keyword(); | int forcehost, forcenet, doflush, nflag, af, qflag, tflag, keyword(); |
| int iflag, verbose, aflen = sizeof(struct sockaddr_in); | int iflag, verbose, aflen = sizeof(struct sockaddr_in); |
| int wflag; | |
| int locking, lockrest, debugonly; | int locking, lockrest, debugonly; |
| struct rt_metrics rt_metrics; | struct rt_metrics rt_metrics; |
| u_long rtm_inits; | u_long rtm_inits; |
| Line 143 main(int argc, char **argv) | Line 144 main(int argc, char **argv) |
| if (argc < 2) | if (argc < 2) |
| usage((char *)NULL); | usage((char *)NULL); |
| while ((ch = getopt(argc, argv, "nqdtv")) != -1) | while ((ch = getopt(argc, argv, "wnqdtv")) != -1) |
| switch(ch) { | switch(ch) { |
| case 'w': | |
| wflag = 1; | |
| break; | |
| case 'n': | case 'n': |
| nflag = 1; | nflag = 1; |
| break; | break; |
| Line 289 bad: usage(*argv); | Line 293 bad: usage(*argv); |
| seqno++; | seqno++; |
| if (qflag) | if (qflag) |
| continue; | continue; |
| if (verbose) | if (verbose) { |
| print_rtmsg(rtm, rlen); | print_rtmsg(rtm, rlen); |
| else { | } else { |
| struct sockaddr *sa = (struct sockaddr *)(rtm + 1); | struct sockaddr *sa = (struct sockaddr *)(rtm + 1); |
| printf("%-20.20s ", rtm->rtm_flags & RTF_HOST ? | if (wflag) { |
| routename(sa) : netname(sa)); | printf("%-20s ", rtm->rtm_flags & RTF_HOST ? |
| routename(sa) : netname(sa)); | |
| } else { | |
| printf("%-20.20s ", rtm->rtm_flags & RTF_HOST ? | |
| routename(sa) : netname(sa)); | |
| } | |
| sa = (struct sockaddr *)(ROUNDUP(sa->sa_len) + | sa = (struct sockaddr *)(ROUNDUP(sa->sa_len) + |
| (char *)sa); | (char *)sa); |
| printf("%-20.20s ", routename(sa)); | if (wflag) { |
| printf("%-20s ", routename(sa)); | |
| } else { | |
| printf("%-20.20s ", routename(sa)); | |
| } | |
| printf("done\n"); | printf("done\n"); |
| } | } |
| } | } |
| Line 340 routename(struct sockaddr *sa) | Line 353 routename(struct sockaddr *sa) |
| hp = gethostbyaddr((char *)&in, sizeof(struct in_addr), | hp = gethostbyaddr((char *)&in, sizeof(struct in_addr), |
| AF_INET); | AF_INET); |
| if (hp) { | if (hp) { |
| if ((cp = strchr(hp->h_name, '.')) && | if ((cp = strchr(hp->h_name, '.')) && !wflag && |
| !strcmp(cp + 1, domain)) | !strcmp(cp + 1, domain)) |
| *cp = 0; | *cp = 0; |
| cp = hp->h_name; | cp = hp->h_name; |