diff options
Diffstat (limited to 'src/base/fmt/vwrite.c')
-rw-r--r-- | src/base/fmt/vwrite.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/base/fmt/vwrite.c b/src/base/fmt/vwrite.c new file mode 100644 index 0000000..cacdef2 --- /dev/null +++ b/src/base/fmt/vwrite.c @@ -0,0 +1,26 @@ +#include "internal.h" + +int +fmt·vwrite(fmt·State *io, char *fmt, va_list args) +{ + int n; + va_list tmp; + + io->flag = io->width = io->prec = 0; + + va_copy(tmp, io->args); + va_end(io->args); + + va_copy(io->args,args); + n = fmt·do(io, fmt); + va_end(io->args); + + va_copy(io->args, tmp); + va_end(tmp); + + io->flag = io->width = io->prec = 0; + + if(n >= 0) + return 0; + return n; +} |