Diff for /rpl/src/asprintf.c between versions 1.4 and 1.5

version 1.4, 2010/02/10 10:14:18 version 1.5, 2010/02/28 14:47:14
Line 29  valsprintf(unsigned char **strp, const c Line 29  valsprintf(unsigned char **strp, const c
 {  {
     size_t          bs;      size_t          bs;
     size_t          s;      size_t          s;
   
     unsigned char   *b = NULL;      unsigned char   *b = NULL;
   
       va_list         cap;
   
     for(bs = 1024;; bs *= 2)      for(bs = 1024;; bs *= 2)
     {      {
           va_copy(cap, ap);
   
         if (b != NULL)          if (b != NULL)
         {          {
             free(b);              free(b);
         }          }
   
             if ((b = malloc(sizeof(*b) * bs)) == NULL)          if ((b = malloc(sizeof(*b) * bs)) == NULL)
         {          {
             return -1;              return -1;
         }          }
   
             if (((int) (s = vsnprintf(b, bs, fmt, ap))) < 0)          if (((int) (s = vsnprintf(b, bs, fmt, cap))) < 0)
         {          {
             free(b);              free(b);
             return -1;              return -1;
         }          }
   
             if (s < bs)          if (s < bs)
         {          {
             break;              break;
         }          }

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


CVSweb interface <joel.bertrand@systella.fr>