1
0
Fork 0
mirror of https://github.com/CTCaer/hekate.git synced 2024-11-22 18:06:40 +00:00

bdk: sprintf: no support for lower case hex and base that is not 10/16

This commit is contained in:
CTCaer 2022-05-19 15:01:10 +03:00
parent 2c768db542
commit 429074293a

View file

@ -36,13 +36,14 @@ static void _s_puts(char *s)
static void _s_putn(u32 v, int base, char fill, int fcnt) static void _s_putn(u32 v, int base, char fill, int fcnt)
{ {
char buf[65]; static const char digits[] = "0123456789ABCDEF";
static const char digits[] = "0123456789ABCDEFghijklmnopqrstuvwxyz";
char *p; char *p;
char buf[65];
int c = fcnt; int c = fcnt;
bool negative = false; bool negative = false;
if (base > 36) if (base != 10 && base != 16)
return; return;
// Account for negative numbers. // Account for negative numbers.
@ -85,9 +86,9 @@ void s_printf(char *out_buf, const char *fmt, ...)
sout_buf = &out_buf; sout_buf = &out_buf;
va_start(ap, fmt); va_start(ap, fmt);
while(*fmt) while (*fmt)
{ {
if(*fmt == '%') if (*fmt == '%')
{ {
fmt++; fmt++;
fill = 0; fill = 0;
@ -108,7 +109,7 @@ void s_printf(char *out_buf, const char *fmt, ...)
fcnt -= '0'; fcnt -= '0';
} }
} }
switch(*fmt) switch (*fmt)
{ {
case 'c': case 'c':
_s_putc(va_arg(ap, u32)); _s_putc(va_arg(ap, u32));
@ -152,9 +153,9 @@ void s_vprintf(char *out_buf, const char *fmt, va_list ap)
sout_buf = &out_buf; sout_buf = &out_buf;
while(*fmt) while (*fmt)
{ {
if(*fmt == '%') if (*fmt == '%')
{ {
fmt++; fmt++;
fill = 0; fill = 0;