Add hex formating support in kprintf

This commit is contained in:
Victor Timofei 2022-05-03 23:24:05 +03:00
parent 342b317558
commit 2a49da9d5f
Signed by: vtimofei
GPG Key ID: B790DCEBE281403A
1 changed files with 13 additions and 1 deletions

View File

@ -109,7 +109,13 @@ void convert(int num, int base, char *buf, int bufsize)
if (idx == bufsize - 1)
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;
idx++;
} while(num != 0);
@ -153,6 +159,12 @@ void kprintf(char *format, ...)
convert(i, 10, buffer, 50);
console_write(buffer);
break;
case 'X':
i = va_arg(arg, int);
convert(i, 16, buffer, 50);
console_write(buffer);
break;
}
}