From f92a2ceba411689890e6f8aab81a03f30b802b10 Mon Sep 17 00:00:00 2001 From: rsc Date: Thu, 19 May 2005 14:39:00 +0000 Subject: handle 0 precision better --- src/lib9/encodefmt.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/lib9/encodefmt.c b/src/lib9/encodefmt.c index 6e127986..7c4a5898 100644 --- a/src/lib9/encodefmt.c +++ b/src/lib9/encodefmt.c @@ -11,16 +11,18 @@ encodefmt(Fmt *f) uchar *b; char obuf[64]; // rsc optimization - if(!(f->flags&FmtPrec) || f->prec < 1) - goto error; - b = va_arg(f->args, uchar*); if(b == 0) return fmtstrcpy(f, ""); ilen = f->prec; f->prec = 0; + + if(!(f->flags&FmtPrec) || ilen < 0) + goto error; + f->flags &= ~FmtPrec; + switch(f->r){ case '<': len = (8*ilen+4)/5 + 3; -- cgit v1.2.3