blob: 8aadef5ffe0f9a8c82ba99ce755e12d9f3585682 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
#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;
}
|