[BACK]Return to compat_vasprintf.c CVS log [TXT][DIR] Up to [cvsweb.bsd.lv] / mandoc

Diff for /mandoc/compat_vasprintf.c between version 1.1 and 1.2

version 1.1, 2015/03/19 14:57:29 version 1.2, 2015/03/20 15:25:12
Line 37  int
Line 37  int
 vasprintf(char **ret, const char *format, va_list ap)  vasprintf(char **ret, const char *format, va_list ap)
 {  {
         char     buf[2];          char     buf[2];
           va_list  ap2;
         int      sz;          int      sz;
   
         if ((sz = vsnprintf(buf, sizeof(buf), format, ap)) != -1 &&          va_copy(ap2, ap);
             (*ret = malloc(sz + 1)) != NULL) {          sz = vsnprintf(buf, sizeof(buf), format, ap2);
           va_end(ap2);
   
           if (sz != -1 && (*ret = malloc(sz + 1)) != NULL) {
                 if (vsnprintf(*ret, sz + 1, format, ap) == sz)                  if (vsnprintf(*ret, sz + 1, format, ap) == sz)
                         return(sz);                          return(sz);
                 free(*ret);                  free(*ret);

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

CVSweb