File: fmtfd.c

package info (click to toggle)
9base 1%3A6-5
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 5,324 kB
  • sloc: ansic: 61,051; yacc: 1,991; asm: 1,621; cs: 1,150; perl: 965; makefile: 596; sh: 12; sed: 4
file content (36 lines) | stat: -rw-r--r-- 676 bytes parent folder | download | duplicates (8)
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
35
36
/* Copyright (c) 2002-2006 Lucent Technologies; see LICENSE */
#include <stdarg.h>
#include <string.h>
#include "plan9.h"
#include "fmt.h"
#include "fmtdef.h"

/*
 * public routine for final flush of a formatting buffer
 * to a file descriptor; returns total char count.
 */
int
fmtfdflush(Fmt *f)
{
	if(__fmtFdFlush(f) <= 0)
		return -1;
	return f->nfmt;
}

/*
 * initialize an output buffer for buffered printing
 */
int
fmtfdinit(Fmt *f, int fd, char *buf, int size)
{
	f->runes = 0;
	f->start = buf;
	f->to = buf;
	f->stop = buf + size;
	f->flush = __fmtFdFlush;
	f->farg = (void*)(uintptr_t)fd;
	f->flags = 0;
	f->nfmt = 0;
	fmtlocaleinit(f, nil, nil, nil);
	return 0;
}