adds a touch more to printf for debugging purposes
This commit is contained in:
@ -188,7 +188,7 @@ int printf(const char* restrict format, ...) {
|
|||||||
} else if (*format == '1') {
|
} else if (*format == '1') {
|
||||||
format++;
|
format++;
|
||||||
uint64_t i = (uint64_t) va_arg(parameters, uint64_t);
|
uint64_t i = (uint64_t) va_arg(parameters, uint64_t);
|
||||||
u64toa(i, buffer, 16);
|
u64toa(i, buffer, 10);
|
||||||
size_t len = strlen(buffer);
|
size_t len = strlen(buffer);
|
||||||
if (maxrem < len) {
|
if (maxrem < len) {
|
||||||
// TODO: Set errno to EOVERFLOW.
|
// TODO: Set errno to EOVERFLOW.
|
||||||
@ -198,6 +198,30 @@ int printf(const char* restrict format, ...) {
|
|||||||
return -1;
|
return -1;
|
||||||
written += len;
|
written += len;
|
||||||
} else if (*format == '2') {
|
} 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++;
|
format++;
|
||||||
int64_t i = (int64_t) va_arg(parameters, int64_t);
|
int64_t i = (int64_t) va_arg(parameters, int64_t);
|
||||||
s64toa(i, buffer, 16);
|
s64toa(i, buffer, 16);
|
||||||
|
Reference in New Issue
Block a user