diff options
Diffstat (limited to 'lib/stdio')
-rw-r--r-- | lib/stdio/vfprintf.cpp (renamed from lib/stdio/vfprintf.c) | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/stdio/vfprintf.c b/lib/stdio/vfprintf.cpp index d24e43e..aa9256d 100644 --- a/lib/stdio/vfprintf.c +++ b/lib/stdio/vfprintf.cpp @@ -3,7 +3,7 @@ static char buffer[3 * sizeof(int) + 2]; -int +extern "C" int vfprintf(FILE *restrict stream, const char *restrict format, va_list params) { int written = 0; @@ -12,31 +12,31 @@ vfprintf(FILE *restrict stream, const char *restrict format, va_list params) int l = 0; for (int i = 0; format[i] != '\0'; ++i) { if (format[i] == '%') { - written += stream->puts(stream, &format[s], l); + written += stream->puts(&format[s], l); s = i + 2; ++i; switch (format[i]) { case 's': { const char *arg = va_arg(params, const char *); - written += stream->puts(stream, arg, -1); + written += stream->puts(arg, -1); } break; case 'c': { const int arg = va_arg(params, int); - stream->putc(stream, arg); + stream->putc(arg); ++written; } break; case 'd': { const char *arg = itoa(buffer, va_arg(params, int), 10); - written += stream->puts(stream, arg, -1); + written += stream->puts(arg, -1); } break; case 'u': { const char *arg = utoa(buffer, va_arg(params, unsigned int), 10); - written += stream->puts(stream, arg, -1); + written += stream->puts(arg, -1); } break; case 'x': { const char *arg = utoa(buffer, va_arg(params, unsigned int), 16); - written += stream->puts(stream, arg, -1); + written += stream->puts(arg, -1); } break; } @@ -47,8 +47,8 @@ vfprintf(FILE *restrict stream, const char *restrict format, va_list params) ++l; } - if (l > 0) { written += stream->puts(stream, &format[s], l); } + if (l > 0) { written += stream->puts(&format[s], l); } - stream->flush(stream); + stream->flush(); return written; } |