[BACK]Return to commands.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / telnet

Diff for /src/usr.bin/telnet/commands.c between version 1.4 and 1.5

version 1.4, 1996/04/21 23:44:11 version 1.5, 1996/07/03 14:01:55
Line 2084 
Line 2084 
     int argc;      int argc;
     char *argv[];      char *argv[];
 {  {
     register struct hostent *host = 0;      register struct hostent *host = 0, *alias = 0;
     struct sockaddr_in sin;      struct sockaddr_in sin;
       struct sockaddr_in ladr;
     struct servent *sp = 0;      struct servent *sp = 0;
     unsigned long temp;      unsigned long temp;
     extern char *inet_ntoa();      extern char *inet_ntoa();
Line 2093 
Line 2094 
     char *srp = 0, *strrchr();      char *srp = 0, *strrchr();
     unsigned long sourceroute(), srlen;      unsigned long sourceroute(), srlen;
 #endif  #endif
     char *cmd, *hostp = 0, *portp = 0, *user = 0;      char *cmd, *hostp = 0, *portp = 0, *user = 0, *aliasp = 0;
   
     /* clear the socket address prior to use */      /* clear the socket address prior to use */
     memset((char *)&sin, 0, sizeof(sin));      memset((char *)&sin, 0, sizeof(sin));
Line 2124 
Line 2125 
             --argc;              --argc;
             continue;              continue;
         }          }
           if (strcmp(*argv, "-b") == 0) {
               --argc; ++argv;
               if (argc == 0)
                   goto usage;
               aliasp = *argv++;
               --argc;
               continue;
           }
         if (strcmp(*argv, "-a") == 0) {          if (strcmp(*argv, "-a") == 0) {
             --argc; ++argv;              --argc; ++argv;
             autologin = 1;              autologin = 1;
Line 2242 
Line 2251 
             perror("telnet: socket");              perror("telnet: socket");
             return 0;              return 0;
         }          }
 #if     defined(IP_OPTIONS) && defined(IPPROTO_IP)          if (aliasp) {
               memset ((caddr_t)&ladr, 0, sizeof (ladr));
               temp = inet_addr(aliasp);
               if (temp != INADDR_NONE) {
                   ladr.sin_addr.s_addr = temp;
                   ladr.sin_family = AF_INET;
                   alias = gethostbyaddr((char *)&temp, sizeof(temp), AF_INET);
               } else {
                   alias = gethostbyname(aliasp);
                   if (alias) {
                       ladr.sin_family = alias->h_addrtype;
   #if     defined(h_addr)         /* In 4.3, this is a #define */
                       memmove((caddr_t)&ladr.sin_addr,
                           alias->h_addr_list[0], alias->h_length);
   #else   /* defined(h_addr) */
                       memmove((caddr_t)&ladr.sin_addr, alias->h_addr,
                           alias->h_length);
   #endif  /* defined(h_addr) */
                   } else {
                       herror(aliasp);
                       return 0;
                   }
               }
               ladr.sin_port = htons(0);
   
               if (bind (net, (struct sockaddr *)&ladr, sizeof(ladr)) < 0) {
                   perror(aliasp);;
                   (void) close(net);   /* dump descriptor */
                   return 0;
               }
           }
    #if    defined(IP_OPTIONS) && defined(IPPROTO_IP)
         if (srp && setsockopt(net, IPPROTO_IP, IP_OPTIONS, (char *)srp, srlen) < 0)          if (srp && setsockopt(net, IPPROTO_IP, IP_OPTIONS, (char *)srp, srlen) < 0)
                 perror("setsockopt (IP_OPTIONS)");                  perror("setsockopt (IP_OPTIONS)");
 #endif  #endif

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5