=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/telnet/commands.c,v retrieving revision 1.30 retrieving revision 1.31 diff -c -r1.30 -r1.31 *** src/usr.bin/telnet/commands.c 2000/08/13 08:37:07 1.30 --- src/usr.bin/telnet/commands.c 2000/08/13 19:39:01 1.31 *************** *** 1,4 **** ! /* $OpenBSD: commands.c,v 1.30 2000/08/13 08:37:07 niklas Exp $ */ /* $NetBSD: commands.c,v 1.14 1996/03/24 22:03:48 jtk Exp $ */ /* --- 1,4 ---- ! /* $OpenBSD: commands.c,v 1.31 2000/08/13 19:39:01 itojun Exp $ */ /* $NetBSD: commands.c,v 1.14 1996/03/24 22:03:48 jtk Exp $ */ /* *************** *** 2284,2292 **** char *srp = 0; int srlen; #endif - int retry; char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0; int family, port; /* clear the socket address prior to use */ memset((char *)&sin, 0, sizeof(sin)); --- 2284,2297 ---- char *srp = 0; int srlen; #endif char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0; int family, port; + int retry; + #ifdef NI_WITHSCOPEID + const int niflags = NI_NUMERICHOST | NI_WITHSCOPEID; + #else + const int niflags = NI_NUMERICHOST; + #endif /* clear the socket address prior to use */ memset((char *)&sin, 0, sizeof(sin)); *************** *** 2394,2408 **** retry = 0; for (res = res0; res; res = res->ai_next) { if (1 /* retry */) { ! char hbuf[MAXHOSTNAMELEN]; ! #ifdef NI_WITHSCOPEID ! const int niflags = NI_NUMERICHOST | NI_WITHSCOPEID; ! #else ! const int niflags = NI_NUMERICHOST; ! #endif ! getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), ! NULL, 0, niflags); printf("Trying %s...\r\n", hbuf); } net = socket(res->ai_family, res->ai_socktype, res->ai_protocol); --- 2399,2410 ---- retry = 0; for (res = res0; res; res = res->ai_next) { if (1 /* retry */) { ! char hbuf[NI_MAXHOST]; ! if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), ! NULL, 0, niflags) != 0) { ! strcpy(hbuf, "(invalid)"); ! } printf("Trying %s...\r\n", hbuf); } net = socket(res->ai_family, res->ai_socktype, res->ai_protocol); *************** *** 2423,2431 **** freeaddrinfo(ares); continue; } ! if (bind(net, ares->ai_addr, ares->ai_addrlen) < 0) { ! perror(aliasp); ! (void) close(net); /* dump descriptor */ freeaddrinfo(ares); continue; } --- 2425,2433 ---- freeaddrinfo(ares); continue; } ! if (bind(net, res->ai_addr, res->ai_addrlen) < 0) { ! perror(aliasp); ! (void) close(net); /* dump descriptor */ freeaddrinfo(ares); continue; } *************** *** 2458,2467 **** } if (connect(net, res->ai_addr, res->ai_addrlen) < 0) { ! char hbuf[MAXHOSTNAMELEN]; ! getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), ! NULL, 0, NI_NUMERICHOST); fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf, strerror(errno)); --- 2460,2471 ---- } if (connect(net, res->ai_addr, res->ai_addrlen) < 0) { ! char hbuf[NI_MAXHOST]; ! if (getnameinfo(res->ai_addr, res->ai_addrlen, hbuf, sizeof(hbuf), ! NULL, 0, niflags) != 0) { ! strcpy(hbuf, "(invalid)"); ! } fprintf(stderr, "telnet: connect to address %s: %s\n", hbuf, strerror(errno));