fmtfd.c - 9base - revived minimalist port of Plan 9 userland to Unix | |
git clone git://git.suckless.org/9base | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
fmtfd.c (676B) | |
--- | |
1 /* Copyright (c) 2002-2006 Lucent Technologies; see LICENSE */ | |
2 #include <stdarg.h> | |
3 #include <string.h> | |
4 #include "plan9.h" | |
5 #include "fmt.h" | |
6 #include "fmtdef.h" | |
7 | |
8 /* | |
9 * public routine for final flush of a formatting buffer | |
10 * to a file descriptor; returns total char count. | |
11 */ | |
12 int | |
13 fmtfdflush(Fmt *f) | |
14 { | |
15 if(__fmtFdFlush(f) <= 0) | |
16 return -1; | |
17 return f->nfmt; | |
18 } | |
19 | |
20 /* | |
21 * initialize an output buffer for buffered printing | |
22 */ | |
23 int | |
24 fmtfdinit(Fmt *f, int fd, char *buf, int size) | |
25 { | |
26 f->runes = 0; | |
27 f->start = buf; | |
28 f->to = buf; | |
29 f->stop = buf + size; | |
30 f->flush = __fmtFdFlush; | |
31 f->farg = (void*)(uintptr_t)fd; | |
32 f->flags = 0; | |
33 f->nfmt = 0; | |
34 fmtlocaleinit(f, nil, nil, nil); | |
35 return 0; | |
36 } |