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

Diff for /src/usr.bin/whois/whois.c between version 1.31 and 1.32

version 1.31, 2005/06/22 10:29:57 version 1.32, 2005/06/22 16:50:49
Line 1 
Line 1 
 /*      $OpenBSD$       */  /*      $NetBSD: whois.c,v 1.27 2005/06/22 12:17:56 christos Exp $   */
   
 /*  /*
  * Copyright (c) 1980, 1993   * Copyright (c) 1980, 1993
Line 164 
Line 164 
 whois(const char *query, const char *server, const char *port, int flags)  whois(const char *query, const char *server, const char *port, int flags)
 {  {
         FILE *sfi, *sfo;          FILE *sfi, *sfo;
         char *buf, *p, *nhost, *nbuf = NULL, *nquery;          char *buf, *p, *nhost, *nbuf = NULL;
         size_t len;          size_t len;
         int i, s, error;          int i, s, error;
         const char *reason = NULL;          const char *reason = NULL, *fmt;
         struct addrinfo hints, *res, *ai;          struct addrinfo hints, *res, *ai;
   
         memset(&hints, 0, sizeof(hints));          memset(&hints, 0, sizeof(hints));
Line 206 
Line 206 
                 return (1);                  return (1);
         }          }
   
         if (!strcmp(server, "whois.denic.de") ||          if (strcmp(server, "whois.denic.de") == 0 ||
             !strcmp(server, "de.whois-servers.net")) {              strcmp(server, "de.whois-servers.net") == 0)
                 if (asprintf(&nquery, "-T dn %s", query) == -1)                  fmt = "-T dn %s\r\n";
                         err(1, NULL);          else
         } else {                  fmt = "%s\r\n";
                 if ((nquery = strdup(query)) == NULL)  
                         err(1, NULL);  
         }  
   
         sfi = fdopen(s, "r");          sfi = fdopen(s, "r");
         sfo = fdopen(s, "w");          sfo = fdopen(s, "w");
         if (sfi == NULL || sfo == NULL)          if (sfi == NULL || sfo == NULL)
                 err(1, "fdopen");                  err(1, "fdopen");
         (void)fprintf(sfo, "%s\r\n", nquery);          (void)fprintf(sfo, fmt, query);
         (void)fflush(sfo);          (void)fflush(sfo);
         nhost = NULL;          nhost = NULL;
         while ((buf = fgetln(sfi, &len)) != NULL) {          while ((buf = fgetln(sfi, &len)) != NULL) {
Line 263 
Line 260 
                         }                          }
                 }                  }
         }          }
         free(nbuf);          if (nbuf != NULL)
         free(nquery);                  free(nbuf);
   
         if (nhost != NULL) {          if (nhost != NULL) {
                 error = whois(query, nhost, port, 0);                  error = whois(query, nhost, port, 0);

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.32