Ejemplo n.º 1
0
int
Bvlprint(Biobuf *bp, const char *fmt, va_list args)
{
	Fmt f;
	Rune buf[256];
	int res;

	if(utf8locale())
		return Bvprint(bp, fmt, args);

	f.runes = 1;
	f.start = (char*)buf;
	f.to = (char*)buf;
	f.stop = (char*)(buf + nelem(buf) - 1);
	f.flush = fmtBlflush;
	f.farg = bp;
	f.nfmt = 0;

	va_copy(f.args, args);
	res = dofmt(&f, fmt);
	va_end(f.args);
	if(res > 0 && fmtBlflush(&f) == 0)
		return -1;
	return res;
}
Ejemplo n.º 2
0
int
Bprint(Biobuf *bp, char *fmt, ...)
{
	va_list arg;
	int n;

	va_start(arg, fmt);
	n = Bvprint(bp, fmt, arg);
	va_end(arg);
	return n;
}
Ejemplo n.º 3
0
Archivo: xd.c Proyecto: bbarker/plan9
void
xprint(char *fmt, ...)
{
	va_list arglist;

	va_start(arglist, fmt);
	if(Bvprint(&bout, fmt, arglist)<0){
		fprint(2, "xd: i/o error\n");
		exits("i/o error");
	}
	va_end(arglist);
}