Blame


1 e17e1a71 2006-05-22 devnull /* Copyright (c) 2004 Google Inc.; see LICENSE */
2 e17e1a71 2006-05-22 devnull #include <stdarg.h>
3 e17e1a71 2006-05-22 devnull #include <string.h>
4 e17e1a71 2006-05-22 devnull #include "plan9.h"
5 e17e1a71 2006-05-22 devnull #include "fmt.h"
6 e17e1a71 2006-05-22 devnull #include "fmtdef.h"
7 e17e1a71 2006-05-22 devnull
8 e17e1a71 2006-05-22 devnull /*
9 e17e1a71 2006-05-22 devnull * Absorb output without using resources.
10 e17e1a71 2006-05-22 devnull */
11 e17e1a71 2006-05-22 devnull static Rune nullbuf[32];
12 e17e1a71 2006-05-22 devnull
13 e17e1a71 2006-05-22 devnull static int
14 e17e1a71 2006-05-22 devnull __fmtnullflush(Fmt *f)
15 e17e1a71 2006-05-22 devnull {
16 e17e1a71 2006-05-22 devnull f->to = nullbuf;
17 e17e1a71 2006-05-22 devnull f->nfmt = 0;
18 e17e1a71 2006-05-22 devnull return 0;
19 e17e1a71 2006-05-22 devnull }
20 e17e1a71 2006-05-22 devnull
21 e17e1a71 2006-05-22 devnull int
22 e17e1a71 2006-05-22 devnull fmtnullinit(Fmt *f)
23 e17e1a71 2006-05-22 devnull {
24 c6d1c6c6 2008-11-18 rsc memset(f, 0, sizeof *f);
25 e17e1a71 2006-05-22 devnull f->runes = 1;
26 e17e1a71 2006-05-22 devnull f->start = nullbuf;
27 e17e1a71 2006-05-22 devnull f->to = nullbuf;
28 e17e1a71 2006-05-22 devnull f->stop = nullbuf+nelem(nullbuf);
29 e17e1a71 2006-05-22 devnull f->flush = __fmtnullflush;
30 e17e1a71 2006-05-22 devnull fmtlocaleinit(f, nil, nil, nil);
31 e17e1a71 2006-05-22 devnull return 0;
32 e17e1a71 2006-05-22 devnull }