diff options
Diffstat (limited to 'src/lib9/fmt/fmtnull.c')
-rw-r--r-- | src/lib9/fmt/fmtnull.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/lib9/fmt/fmtnull.c b/src/lib9/fmt/fmtnull.c new file mode 100644 index 00000000..a2f808ee --- /dev/null +++ b/src/lib9/fmt/fmtnull.c @@ -0,0 +1,33 @@ +/* Copyright (c) 2004 Google Inc.; see LICENSE */ +#include <stdarg.h> +#include <string.h> +#include "plan9.h" +#include "fmt.h" +#include "fmtdef.h" + +/* + * Absorb output without using resources. + */ +static Rune nullbuf[32]; + +static int +__fmtnullflush(Fmt *f) +{ + f->to = nullbuf; + f->nfmt = 0; + return 0; +} + +int +fmtnullinit(Fmt *f) +{ + memset(&f, 0, sizeof *f); + f->runes = 1; + f->start = nullbuf; + f->to = nullbuf; + f->stop = nullbuf+nelem(nullbuf); + f->flush = __fmtnullflush; + fmtlocaleinit(f, nil, nil, nil); + return 0; +} + |