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

Diff for /src/usr.bin/ssh/misc.c between version 1.23.2.2 and 1.24

version 1.23.2.2, 2005/03/10 17:15:04 version 1.24, 2004/06/14 01:44:39
Line 269 
Line 269 
         return total;          return total;
 }  }
   
 /*  
  * Search for next delimiter between hostnames/addresses and ports.  
  * Argument may be modified (for termination).  
  * Returns *cp if parsing succeeds.  
  * *cp is set to the start of the next delimiter, if one was found.  
  * If this is the last field, *cp is set to NULL.  
  */  
 char *  char *
 hpdelim(char **cp)  
 {  
         char *s, *old;  
   
         if (cp == NULL || *cp == NULL)  
                 return NULL;  
   
         old = s = *cp;  
         if (*s == '[') {  
                 if ((s = strchr(s, ']')) == NULL)  
                         return NULL;  
                 else  
                         s++;  
         } else if ((s = strpbrk(s, ":/")) == NULL)  
                 s = *cp + strlen(*cp); /* skip to end (see first case below) */  
   
         switch (*s) {  
         case '\0':  
                 *cp = NULL;     /* no more fields*/  
                 break;  
   
         case ':':  
         case '/':  
                 *s = '\0';      /* terminate */  
                 *cp = s + 1;  
                 break;  
   
         default:  
                 return NULL;  
         }  
   
         return old;  
 }  
   
 char *  
 cleanhostname(char *host)  cleanhostname(char *host)
 {  {
         if (*host == '[' && host[strlen(host) - 1] == ']') {          if (*host == '[' && host[strlen(host) - 1] == ']') {
Line 350 
Line 308 
 {  {
         va_list ap;          va_list ap;
         char buf[1024];          char buf[1024];
         u_int nalloc;          int nalloc;
   
         va_start(ap, fmt);          va_start(ap, fmt);
         vsnprintf(buf, sizeof(buf), fmt, ap);          vsnprintf(buf, sizeof(buf), fmt, ap);
Line 367 
Line 325 
         args->nalloc = nalloc;          args->nalloc = nalloc;
         args->list[args->num++] = xstrdup(buf);          args->list[args->num++] = xstrdup(buf);
         args->list[args->num] = NULL;          args->list[args->num] = NULL;
 }  
   
 /*  
  * Read an entire line from a public key file into a static buffer, discarding  
  * lines that exceed the buffer size.  Returns 0 on success, -1 on failure.  
  */  
 int  
 read_keyfile_line(FILE *f, const char *filename, char *buf, size_t bufsz,  
    u_long *lineno)  
 {  
         while (fgets(buf, bufsz, f) != NULL) {  
                 (*lineno)++;  
                 if (buf[strlen(buf) - 1] == '\n' || feof(f)) {  
                         return 0;  
                 } else {  
                         debug("%s: %s line %lu exceeds size limit", __func__,  
                             filename, *lineno);  
                         /* discard remainder of line */  
                         while(fgetc(f) != '\n' && !feof(f))  
                                 ;       /* nothing */  
                 }  
         }  
         return -1;  
 }  }

Legend:
Removed from v.1.23.2.2  
changed lines
  Added in v.1.24