diff options
author | rsc <devnull@localhost> | 2004-08-22 15:39:56 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-08-22 15:39:56 +0000 |
commit | 984e353160593b20d1e2944e1f2e9ce2117c8490 (patch) | |
tree | d7347f9d2ffa06d1033fb41712257a2001fd4d57 /src/lib9/fmt/fmtvprint.c | |
parent | c8c0df440f1a22effd43023368c801e1351e31ed (diff) | |
download | plan9port-984e353160593b20d1e2944e1f2e9ce2117c8490.tar.gz plan9port-984e353160593b20d1e2944e1f2e9ce2117c8490.tar.bz2 plan9port-984e353160593b20d1e2944e1f2e9ce2117c8490.zip |
PowerPC Linux support from ericvh.
Mainly adding va_copy/va_end.
Also fix bug in sprint wrapping
around top of memory.
Diffstat (limited to 'src/lib9/fmt/fmtvprint.c')
-rw-r--r-- | src/lib9/fmt/fmtvprint.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib9/fmt/fmtvprint.c b/src/lib9/fmt/fmtvprint.c index 6aed013d..60974a0b 100644 --- a/src/lib9/fmt/fmtvprint.c +++ b/src/lib9/fmt/fmtvprint.c @@ -32,13 +32,15 @@ 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_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; |