xref: /plan9-contrib/sys/src/nboot/bitsy/print.c (revision 529c1f209803c78c4f2cda11b13818a57f01c872)
1*529c1f20SDavid du Colombier #include "u.h"
2*529c1f20SDavid du Colombier #include "lib.h"
3*529c1f20SDavid du Colombier #include "fns.h"
4*529c1f20SDavid du Colombier #include "dat.h"
5*529c1f20SDavid du Colombier 
6*529c1f20SDavid du Colombier 
7*529c1f20SDavid du Colombier #define	SIZE	1024
8*529c1f20SDavid du Colombier 
9*529c1f20SDavid du Colombier int
print(char * fmt,...)10*529c1f20SDavid du Colombier print(char *fmt, ...)
11*529c1f20SDavid du Colombier {
12*529c1f20SDavid du Colombier 	char buf[SIZE], *out;
13*529c1f20SDavid du Colombier 	va_list arg;
14*529c1f20SDavid du Colombier 
15*529c1f20SDavid du Colombier 	va_start(arg, fmt);
16*529c1f20SDavid du Colombier 	out = donprint(buf, buf+SIZE, fmt, arg);
17*529c1f20SDavid du Colombier 	va_end(arg);
18*529c1f20SDavid du Colombier 	serialputs(buf, out-buf);
19*529c1f20SDavid du Colombier 	return out-buf;
20*529c1f20SDavid du Colombier }
21*529c1f20SDavid du Colombier 
22*529c1f20SDavid du Colombier int
sprint(char * buf,char * fmt,...)23*529c1f20SDavid du Colombier sprint(char *buf, char *fmt, ...)
24*529c1f20SDavid du Colombier {
25*529c1f20SDavid du Colombier 	char *out;
26*529c1f20SDavid du Colombier 	va_list arg;
27*529c1f20SDavid du Colombier 
28*529c1f20SDavid du Colombier 	va_start(arg, fmt);
29*529c1f20SDavid du Colombier 	out = donprint(buf, buf+SIZE, fmt, arg);
30*529c1f20SDavid du Colombier 	va_end(arg);
31*529c1f20SDavid du Colombier 	return out-buf;
32*529c1f20SDavid du Colombier }
33*529c1f20SDavid du Colombier 
34*529c1f20SDavid du Colombier int
snprint(char * buf,int len,char * fmt,...)35*529c1f20SDavid du Colombier snprint(char *buf, int len, char *fmt, ...)
36*529c1f20SDavid du Colombier {
37*529c1f20SDavid du Colombier 	char *out;
38*529c1f20SDavid du Colombier 	va_list arg;
39*529c1f20SDavid du Colombier 
40*529c1f20SDavid du Colombier 	va_start(arg, fmt);
41*529c1f20SDavid du Colombier 	out = donprint(buf, buf+len, fmt, arg);
42*529c1f20SDavid du Colombier 	va_end(arg);
43*529c1f20SDavid du Colombier 	return out-buf;
44*529c1f20SDavid du Colombier }
45*529c1f20SDavid du Colombier 
46*529c1f20SDavid du Colombier char*
seprint(char * buf,char * e,char * fmt,...)47*529c1f20SDavid du Colombier seprint(char *buf, char *e, char *fmt, ...)
48*529c1f20SDavid du Colombier {
49*529c1f20SDavid du Colombier 	char *out;
50*529c1f20SDavid du Colombier 	va_list arg;
51*529c1f20SDavid du Colombier 
52*529c1f20SDavid du Colombier 	va_start(arg, fmt);
53*529c1f20SDavid du Colombier 	out = donprint(buf, e, fmt, arg);
54*529c1f20SDavid du Colombier 	va_end(arg);
55*529c1f20SDavid du Colombier 	return out;
56*529c1f20SDavid du Colombier }
57