aboutsummaryrefslogtreecommitdiff
path: root/sys/libfmt/do.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/libfmt/do.c')
-rw-r--r--sys/libfmt/do.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/libfmt/do.c b/sys/libfmt/do.c
index 0a930b0..eaac0a3 100644
--- a/sys/libfmt/do.c
+++ b/sys/libfmt/do.c
@@ -104,7 +104,6 @@ dispatch(fmt·State *io, char *fmt)
*/
for(;;){
fmt += utf8·decode(fmt, &r);
-
io->verb = r;
switch(r){
case 0:
@@ -139,15 +138,15 @@ dispatch(fmt·State *io, char *fmt)
i = va_arg(io->args, int);
if(i < 0){
if(io->flag&fmt·Prec){
- io->flag = ~fmt·Prec;
+ io->flag &= ~fmt·Prec;
io->prec = 0;
+ continue;
}
i = -i;
io->flag |= fmt·Left;
}
goto number;
}
-
n = format(r)(io);
if(n < 0)
return nil;