diff options
Diffstat (limited to 'riscv/riscv-probe/libfemto/std/vprintf.c')
| -rw-r--r-- | riscv/riscv-probe/libfemto/std/vprintf.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/riscv/riscv-probe/libfemto/std/vprintf.c b/riscv/riscv-probe/libfemto/std/vprintf.c new file mode 100644 index 0000000..36c99a3 --- /dev/null +++ b/riscv/riscv-probe/libfemto/std/vprintf.c @@ -0,0 +1,14 @@ +// See LICENSE for license details. + +#include <stdio.h> +#include <alloca.h> + +int vprintf(const char* s, va_list vl) +{ + char *out; + int res = vsnprintf(NULL, -1, s, vl); + out = alloca(res + 1); + vsnprintf(out, res + 1, s, vl); + while (*out) putchar(*out++); + return res; +} |
