adds a touch more to printf for debugging purposes

This commit is contained in:
2025-05-30 13:38:52 -04:00
parent ee2c5a72a1
commit 1a60e91745

View File

@ -188,7 +188,7 @@ int printf(const char* restrict format, ...) {
} else if (*format == '1') {
format++;
uint64_t i = (uint64_t) va_arg(parameters, uint64_t);
u64toa(i, buffer, 16);
u64toa(i, buffer, 10);
size_t len = strlen(buffer);
if (maxrem < len) {
// TODO: Set errno to EOVERFLOW.
@ -198,6 +198,30 @@ int printf(const char* restrict format, ...) {
return -1;
written += len;
} else if (*format == '2') {
format++;
uint64_t i = (uint64_t) va_arg(parameters, uint64_t);
u64toa(i, buffer, 16);
size_t len = strlen(buffer);
if (maxrem < len) {
// TODO: Set errno to EOVERFLOW.
return -1;
}
if (!print(buffer, len))
return -1;
written += len;
} else if (*format == '3') {
format++;
int64_t i = (int64_t) va_arg(parameters, int64_t);
s64toa(i, buffer, 10);
size_t len = strlen(buffer);
if (maxrem < len) {
// TODO: Set errno to EOVERFLOW.
return -1;
}
if (!print(buffer, len))
return -1;
written += len;
} else if (*format == '4') {
format++;
int64_t i = (int64_t) va_arg(parameters, int64_t);
s64toa(i, buffer, 16);