--- common_orig.c Tue Jun 4 01:22:07 2002 +++ common.c Tue Jun 4 01:21:37 2002 @@ -81,8 +81,10 @@ va_list ap; char *buf = NULL, *tmp; int size = 0, res; + const char *start; - va_start(ap, format); + start = format; + va_start(ap, format); if ((size = vsnprintf(buf, 0, format, ap)) < 1) { size = 128; @@ -99,6 +101,9 @@ if (!(buf = malloc(size + 1))) return NULL; } + + format = start; + va_start(ap, format); vsnprintf(buf, size + 1, format, ap);