summaryrefslogtreecommitdiff
path: root/libc/bios/cprintf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/bios/cprintf.c')
-rw-r--r--libc/bios/cprintf.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libc/bios/cprintf.c b/libc/bios/cprintf.c
index 5f8beaa..cd5f62b 100644
--- a/libc/bios/cprintf.c
+++ b/libc/bios/cprintf.c
@@ -55,8 +55,9 @@ cprintf(char * fmt, va_list ap)
switch(c)
{
- case 'x': base=16; if(0) {
- case 'o': base= 8; } if(0) {
+ case 'x': base=16; type|=4; if(0) {
+ case 'o': base= 8; type|=4; } if(0) {
+ case 'u': base=10; type|=4; } if(0) {
case 'd': base=10; }
val=0;
switch(type)
@@ -64,6 +65,9 @@ cprintf(char * fmt, va_list ap)
case 0: val=va_arg(ap, short); break;
case 1: val=va_arg(ap, int); break;
case 2: val=va_arg(ap, long); break;
+ case 4: val=va_arg(ap, unsigned short); break;
+ case 5: val=va_arg(ap, unsigned int); break;
+ case 6: val=va_arg(ap, unsigned long); break;
}
cp = __numout(val,base);
if(0) {