9base

revived minimalist port of Plan 9 userland to Unix
git clone git://git.suckless.org/9base
Log | Files | Refs | README | LICENSE

fmtnull.c (521B)


      1 /* Copyright (c) 2004 Google Inc.; 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  * Absorb output without using resources.
     10  */
     11 static Rune nullbuf[32];
     12 
     13 static int
     14 __fmtnullflush(Fmt *f)
     15 {
     16 	f->to = nullbuf;
     17 	f->nfmt = 0;
     18 	return 0;
     19 }
     20 
     21 int
     22 fmtnullinit(Fmt *f)
     23 {
     24 	memset(f, 0, sizeof *f);
     25 	f->runes = 1;
     26 	f->start = nullbuf;
     27 	f->to = nullbuf;
     28 	f->stop = nullbuf+nelem(nullbuf);
     29 	f->flush = __fmtnullflush;
     30 	fmtlocaleinit(f, nil, nil, nil);
     31 	return 0;
     32 }
     33