diff options
Diffstat (limited to 'libkern/vseprint.c')
| -rw-r--r-- | libkern/vseprint.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libkern/vseprint.c b/libkern/vseprint.c index 7b23d55b..1e31f76a 100644 --- a/libkern/vseprint.c +++ b/libkern/vseprint.c @@ -12,6 +12,7 @@ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. */ #include "lib9.h" +#include "fmtdef.h" char* vseprint(char *buf, char *e, char *fmt, va_list args) @@ -27,8 +28,10 @@ vseprint(char *buf, char *e, 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 f.to; } + |
