提交 8996d674 创建 作者: Silas Boyd-Wickizer's avatar Silas Boyd-Wickizer

%u for vprintfmt.

上级 f90b85bc
...@@ -50,7 +50,7 @@ writecons(void *arg, char c) ...@@ -50,7 +50,7 @@ writecons(void *arg, char c)
cgaputc(c); cgaputc(c);
} }
// Only understands %d, %x, %s, %lx. // Only understands %d, %u, %x, %s, %lx.
void void
vprintfmt(void (*putch) (void*, char), void *putarg, vprintfmt(void (*putch) (void*, char), void *putarg,
const char *fmt, va_list ap) const char *fmt, va_list ap)
...@@ -68,8 +68,10 @@ vprintfmt(void (*putch) (void*, char), void *putarg, ...@@ -68,8 +68,10 @@ vprintfmt(void (*putch) (void*, char), void *putarg,
putch(putarg, c); putch(putarg, c);
} }
} else if(state == '%'){ } else if(state == '%'){
if(c == 'd'){ if(c == 'd') {
printint(putch, putarg, va_arg(ap, u32), 10, 1); printint(putch, putarg, va_arg(ap, u32), 10, 1);
} else if(c == 'u') {
printint(putch, putarg, va_arg(ap, u32), 10, 0);
} else if(c == 'x') { } else if(c == 'x') {
printint(putch, putarg, va_arg(ap, u32), 16, 0); printint(putch, putarg, va_arg(ap, u32), 16, 0);
} else if(c == 'l') { } else if(c == 'l') {
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论