diff options
Diffstat (limited to 'lib9/fmtvprint.c')
| -rw-r--r-- | lib9/fmtvprint.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib9/fmtvprint.c b/lib9/fmtvprint.c index 6682cd33..8e7c1f45 100644 --- a/lib9/fmtvprint.c +++ b/lib9/fmtvprint.c @@ -29,13 +29,16 @@ fmtvprint(Fmt *f, char *fmt, va_list args) f->flags = 0; f->width = 0; f->prec = 0; - va = f->args; - f->args = args; + va_copy(va, f->args); + va_end(f->args); + va_copy(f->args, args); n = dofmt(f, fmt); f->flags = 0; f->width = 0; f->prec = 0; - f->args = va; + va_end(f->args); + va_copy(f->args, va); + va_end(va); if(n >= 0) return 0; return n; |
