From 62780722f528fdbc19afb48128f1638e55d1568b Mon Sep 17 00:00:00 2001 From: rsc Date: Sun, 25 Apr 2004 21:13:58 +0000 Subject: do flush properly --- src/libbio/bfmt.c | 6 +++++- src/libbio/bprint.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src/libbio') diff --git a/src/libbio/bfmt.c b/src/libbio/bfmt.c index 4e0b6206..4194d05c 100644 --- a/src/libbio/bfmt.c +++ b/src/libbio/bfmt.c @@ -31,7 +31,11 @@ Bfmtinit(Fmt *f, Biobuf *b) int Bfmtflush(Fmt *f) { - if(_Bfmtflush(f) <= 0) + Biobuf *b; + + b = f->farg; + if(f->to == nil) return -1; + b->ocount = (char*)f->to - (char*)f->stop; return f->nfmt; } diff --git a/src/libbio/bprint.c b/src/libbio/bprint.c index 56d700c4..2b66605c 100644 --- a/src/libbio/bprint.c +++ b/src/libbio/bprint.c @@ -14,5 +14,7 @@ Bprint(Biobuf *bp, char *fmt, ...) f.args = args; n = dofmt(&f, fmt); va_end(args); + if(n > 0 && Bfmtflush(&f) < 0) + return -1; return n; } -- cgit v1.2.3