aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/encodefmt.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-12-26 23:17:03 +0000
committerrsc <devnull@localhost>2004-12-26 23:17:03 +0000
commita3add39bbc986fe21e3450553259e8f5e1fb22d0 (patch)
tree2ee385be960a0978d46d31ba84eb210dfce92e02 /src/lib9/encodefmt.c
parent00975b7ef17ceca677c80e98a7fe71bdca8ff17c (diff)
downloadplan9port-a3add39bbc986fe21e3450553259e8f5e1fb22d0.tar.gz
plan9port-a3add39bbc986fe21e3450553259e8f5e1fb22d0.tar.bz2
plan9port-a3add39bbc986fe21e3450553259e8f5e1fb22d0.zip
plan 9 changes
Diffstat (limited to 'src/lib9/encodefmt.c')
-rw-r--r--src/lib9/encodefmt.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib9/encodefmt.c b/src/lib9/encodefmt.c
index 5dd2f488..27878167 100644
--- a/src/lib9/encodefmt.c
+++ b/src/lib9/encodefmt.c
@@ -11,10 +11,12 @@ encodefmt(Fmt *f)
uchar *b;
char obuf[64]; // rsc optimization
- if(!(f->flags&FmtPrec) || f->prec < 0)
+ if(!(f->flags&FmtPrec) || f->prec < 1)
goto error;
b = va_arg(f->args, uchar*);
+ if(b == 0)
+ return fmtstrcpy(f, "<nil>");
ilen = f->prec;
f->prec = 0;
@@ -51,6 +53,9 @@ encodefmt(Fmt *f)
break;
case 'H':
rv = enc16(out, len, b, ilen);
+ if(rv >= 0 && (f->flags & FmtLong))
+ for(p = buf; *p; p++)
+ *p = tolower(*p);
break;
default:
rv = -1;