handle 0 precision better
This commit is contained in:
parent
5cb6d5d9c2
commit
f92a2ceba4
1 changed files with 5 additions and 3 deletions
|
|
@ -11,16 +11,18 @@ encodefmt(Fmt *f)
|
||||||
uchar *b;
|
uchar *b;
|
||||||
char obuf[64]; // rsc optimization
|
char obuf[64]; // rsc optimization
|
||||||
|
|
||||||
if(!(f->flags&FmtPrec) || f->prec < 1)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
b = va_arg(f->args, uchar*);
|
b = va_arg(f->args, uchar*);
|
||||||
if(b == 0)
|
if(b == 0)
|
||||||
return fmtstrcpy(f, "<nil>");
|
return fmtstrcpy(f, "<nil>");
|
||||||
|
|
||||||
ilen = f->prec;
|
ilen = f->prec;
|
||||||
f->prec = 0;
|
f->prec = 0;
|
||||||
|
|
||||||
|
if(!(f->flags&FmtPrec) || ilen < 0)
|
||||||
|
goto error;
|
||||||
|
|
||||||
f->flags &= ~FmtPrec;
|
f->flags &= ~FmtPrec;
|
||||||
|
|
||||||
switch(f->r){
|
switch(f->r){
|
||||||
case '<':
|
case '<':
|
||||||
len = (8*ilen+4)/5 + 3;
|
len = (8*ilen+4)/5 + 3;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue