diff options
Diffstat (limited to 'src/libultra_boot_O2/_Printf.c')
| -rw-r--r-- | src/libultra_boot_O2/_Printf.c | 93 |
1 files changed, 45 insertions, 48 deletions
diff --git a/src/libultra_boot_O2/_Printf.c b/src/libultra_boot_O2/_Printf.c index cbb803bbd..a5f922d56 100644 --- a/src/libultra_boot_O2/_Printf.c +++ b/src/libultra_boot_O2/_Printf.c @@ -3,38 +3,37 @@ #include <stdarg.h> #include <string.h> -#define ATOI(i, a) \ - for (i = 0; *a >= '0' && *a <= '9'; a++) \ - if (i < 999) \ +#define ATOI(i, a) \ + for (i = 0; *a >= '0' && *a <= '9'; a++) \ + if (i < 999) \ i = *a + i * 10 - '0'; -#define _PROUT(fmt, _size) \ - if (_size > 0) { \ - arg = (void*)pfn(arg, fmt, _size); \ - if (arg != 0) \ - x.nchar += _size; \ - else \ - return x.nchar; \ +#define _PROUT(fmt, _size) \ + if (_size > 0) { \ + arg = (void*)pfn(arg, fmt, _size); \ + if (arg != 0) \ + x.nchar += _size; \ + else \ + return x.nchar; \ } -#define _PAD(m, src, extracond) \ - if (extracond && m > 0) { \ - int i; \ - int j; \ - for (j = m; j > 0; j -= i) { \ - if ((u32) j > 32) \ - i = 32; \ - else \ - i = j; \ - _PROUT(src, i); \ - } \ +#define _PAD(m, src, extracond) \ + if (extracond && m > 0) { \ + int i; \ + int j; \ + for (j = m; j > 0; j -= i) { \ + if ((u32)j > 32) \ + i = 32; \ + else \ + i = j; \ + _PROUT(src, i); \ + } \ } char spaces[] = " "; char zeroes[] = "00000000000000000000000000000000"; -void _Putfld(_Pft *, va_list *, u8, u8 *); +void _Putfld(_Pft*, va_list*, u8, u8*); -s32 _Printf(char *(*pfn)(char *, const char *, size_t), char *arg, const char *fmt, va_list ap) -{ +s32 _Printf(char* (*pfn)(char*, const char*, size_t), char* arg, const char* fmt, va_list ap) { _Pft x; x.nchar = 0; while (1) { @@ -47,15 +46,15 @@ s32 _Printf(char *(*pfn)(char *, const char *, size_t), char *arg, const char *f u8 ac[0x20]; - s = (u8 *)fmt; + s = (u8*)fmt; while ((c = *s) != 0 && c != '%') { s++; } - _PROUT(fmt, s - (u8 *)fmt); + _PROUT(fmt, s - (u8*)fmt); if (c == 0) { return x.nchar; } - fmt = (char *) ++s; + fmt = (char*)++s; x.flags = 0; for (; (t = strchr(fchar, *s)) != NULL; s++) { x.flags |= fbit[t - fchar]; @@ -92,23 +91,21 @@ s32 _Printf(char *(*pfn)(char *, const char *, size_t), char *arg, const char *f s++; } _Putfld(&x, &ap, *s, ac); - x.width -= x.n0 + x.nz0 + x.n1 + x.nz1 - + x.n2 + x.nz2; + x.width -= x.n0 + x.nz0 + x.n1 + x.nz1 + x.n2 + x.nz2; _PAD(x.width, spaces, !(x.flags & FLAGS_MINUS)); - _PROUT((char *) ac, x.n0); + _PROUT((char*)ac, x.n0); _PAD(x.nz0, zeroes, 1); _PROUT(x.s, x.n1); _PAD(x.nz1, zeroes, 1); - _PROUT((char *) (&x.s[x.n1]), x.n2) + _PROUT((char*)(&x.s[x.n1]), x.n2) _PAD(x.nz2, zeroes, 1); _PAD(x.width, spaces, x.flags & FLAGS_MINUS); - fmt = (char *) s + 1; + fmt = (char*)s + 1; } } void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) { - px->n0 = px->nz0 = px->n1 = px->nz1 = px->n2 = - px->nz2 = 0; + px->n0 = px->nz0 = px->n1 = px->nz1 = px->n2 = px->nz2 = 0; switch (code) { @@ -127,7 +124,7 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) { } if (px->qual == 'h') { - px->v.ll = (s16) px->v.ll; + px->v.ll = (s16)px->v.ll; } if (px->v.ll < 0) { @@ -138,7 +135,7 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) { ac[px->n0++] = ' '; } - px->s = (char *) &ac[px->n0]; + px->s = (char*)&ac[px->n0]; _Litob(px, code); break; @@ -156,9 +153,9 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) { } if (px->qual == 'h') { - px->v.ll = (u16) px->v.ll; + px->v.ll = (u16)px->v.ll; } else if (px->qual == 0) { - px->v.ll = (u32) px->v.ll; + px->v.ll = (u32)px->v.ll; } if (px->flags & FLAGS_HASH) { @@ -168,7 +165,7 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) { ac[px->n0++] = code; } } - px->s = (char *) &ac[px->n0]; + px->s = (char*)&ac[px->n0]; _Litob(px, code); break; @@ -189,30 +186,30 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) { } } - px->s = (char *) &ac[px->n0]; + px->s = (char*)&ac[px->n0]; _Ldtob(px, code); break; case 'n': if (px->qual == 'h') { - *(va_arg(*pap, u16 *)) = px->nchar; + *(va_arg(*pap, u16*)) = px->nchar; } else if (px->qual == 'l') { - *va_arg(*pap, u32 *) = px->nchar; + *va_arg(*pap, u32*) = px->nchar; } else if (px->qual == 'L') { - *va_arg(*pap, u64 *) = px->nchar; + *va_arg(*pap, u64*) = px->nchar; } else { - *va_arg(*pap, u32 *) = px->nchar; + *va_arg(*pap, u32*) = px->nchar; } break; case 'p': - px->v.ll = (long) va_arg(*pap, void *); - px->s = (char *) &ac[px->n0]; + px->v.ll = (long)va_arg(*pap, void*); + px->s = (char*)&ac[px->n0]; _Litob(px, 'x'); break; case 's': - px->s = va_arg(*pap, char *); + px->s = va_arg(*pap, char*); px->n1 = strlen(px->s); if (px->prec >= 0 && px->n1 > px->prec) { px->n1 = px->prec; @@ -227,4 +224,4 @@ void _Putfld(_Pft* px, va_list* pap, u8 code, u8* ac) { ac[px->n0++] = code; break; } -}
\ No newline at end of file +} |
