diff options
Diffstat (limited to 'src/lib9/fmt/vsnprint.c')
-rw-r--r-- | src/lib9/fmt/vsnprint.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib9/fmt/vsnprint.c b/src/lib9/fmt/vsnprint.c index 21662e6d..ad64203a 100644 --- a/src/lib9/fmt/vsnprint.c +++ b/src/lib9/fmt/vsnprint.c @@ -20,6 +20,7 @@ int vsnprint(char *buf, int len, char *fmt, va_list args) { Fmt f; + int x = 0; if(len <= 0) return -1; @@ -30,8 +31,9 @@ vsnprint(char *buf, int len, char *fmt, va_list args) f.flush = 0; f.farg = nil; f.nfmt = 0; - f.args = args; + va_copy(f.args,args); dofmt(&f, fmt); + va_end(f.args); *(char*)f.to = '\0'; return (char*)f.to - buf; } |