#include "internal.h" char* fmt·vesprint(char *buf, char *end, char *fmt, va_list args) { fmt·State io; if(end <= buf) return nil; io.n = 0; io.buffer.beg = io.buffer.cur = buf; io.buffer.end = end-1; io.flush = nil; io.file = nil; va_copy(io.args, args); fmt·setlocale(&io, nil, nil, nil); fmt·do(&io, fmt); va_end(io.args); *(io.buffer.cur) = 0; return io.buffer.cur; }