#include "internal.h" static int flush(fmt·State *io) { int n, fd; fd = (uintptr)io->file; n = io->buffer.cur - io->buffer.beg; if(n && write(fd, io->buffer.beg, n) != n) return -1; io->buffer.cur = io->buffer.beg; return io->n; } int fmt·open(int fd, int len, char *buf, fmt·State *io) { io->buffer.beg = buf; io->buffer.cur = buf; io->buffer.end = buf+len; io->flush = flush; io->file = (void*)(uintptr)fd; io->flag = 0; io->n = 0; /* no heap needed */ io->heap = nil; io->mem = (mem·Reallocator){ 0 }; fmt·setlocale(io, nil, nil, nil); return 0; }