#include <u.h>
#include <libc.h>
#include <thread.h>

int
chanprint(Channel *c, char *fmt, ...)
{
	va_list arg;
	char *buf;
	enum {NBUF=1024};
	int n;

	buf = malloc(NBUF);
	if(buf == nil)
		sysfatal("malloc failed: %r");
	va_start(arg, fmt);
	doprint(buf, buf+NBUF, fmt, arg);
	va_end(arg);
	n = sendp(c, buf);
	yield();	/* let recipient handle message immediately */
	return n;
}
