diff options
Diffstat (limited to 'libkern/vsnprint.c')
| -rw-r--r-- | libkern/vsnprint.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libkern/vsnprint.c b/libkern/vsnprint.c index 841d142c..2006cfb3 100644 --- a/libkern/vsnprint.c +++ b/libkern/vsnprint.c @@ -12,6 +12,7 @@ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. */ #include "lib9.h" +#include "fmtdef.h" int vsnprint(char *buf, int len, char *fmt, va_list args) @@ -27,8 +28,9 @@ vsnprint(char *buf, int len, char *fmt, va_list args) f.flush = nil; 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; } |
