Add hex formating support in kprintf
This commit is contained in:
parent
342b317558
commit
2a49da9d5f
|
@ -109,7 +109,13 @@ void convert(int num, int base, char *buf, int bufsize)
|
||||||
if (idx == bufsize - 1)
|
if (idx == bufsize - 1)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
buf[idx] = (num % base) + '0';
|
int remainder = num % base;
|
||||||
|
|
||||||
|
if (remainder > 9)
|
||||||
|
buf[idx] = remainder - 10 + 'A';
|
||||||
|
else
|
||||||
|
buf[idx] = remainder + '0';
|
||||||
|
|
||||||
num /= base;
|
num /= base;
|
||||||
idx++;
|
idx++;
|
||||||
} while(num != 0);
|
} while(num != 0);
|
||||||
|
@ -153,6 +159,12 @@ void kprintf(char *format, ...)
|
||||||
convert(i, 10, buffer, 50);
|
convert(i, 10, buffer, 50);
|
||||||
console_write(buffer);
|
console_write(buffer);
|
||||||
break;
|
break;
|
||||||
|
case 'X':
|
||||||
|
i = va_arg(arg, int);
|
||||||
|
|
||||||
|
convert(i, 16, buffer, 50);
|
||||||
|
console_write(buffer);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue