xref: /plan9-contrib/sys/src/cmd/unix/u9fs/print.c (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du Colombier #include <plan9.h>
2*9a747e4fSDavid du Colombier 
3*9a747e4fSDavid du Colombier #define	SIZE	4096
4*9a747e4fSDavid du Colombier extern	int	printcol;
5*9a747e4fSDavid du Colombier 
6*9a747e4fSDavid du Colombier int
7*9a747e4fSDavid du Colombier print(char *fmt, ...)
8*9a747e4fSDavid du Colombier {
9*9a747e4fSDavid du Colombier 	char buf[SIZE], *out;
10*9a747e4fSDavid du Colombier 	va_list arg;
11*9a747e4fSDavid du Colombier 	int n;
12*9a747e4fSDavid du Colombier 
13*9a747e4fSDavid du Colombier 	va_start(arg, fmt);
14*9a747e4fSDavid du Colombier 	out = doprint(buf, buf+SIZE, fmt, arg);
15*9a747e4fSDavid du Colombier 	va_end(arg);
16*9a747e4fSDavid du Colombier 	n = write(1, buf, (long)(out-buf));
17*9a747e4fSDavid du Colombier 	return n;
18*9a747e4fSDavid du Colombier }
19*9a747e4fSDavid du Colombier 
20*9a747e4fSDavid du Colombier int
21*9a747e4fSDavid du Colombier fprint(int f, char *fmt, ...)
22*9a747e4fSDavid du Colombier {
23*9a747e4fSDavid du Colombier 	char buf[SIZE], *out;
24*9a747e4fSDavid du Colombier 	va_list arg;
25*9a747e4fSDavid du Colombier 	int n;
26*9a747e4fSDavid du Colombier 
27*9a747e4fSDavid du Colombier 	va_start(arg, fmt);
28*9a747e4fSDavid du Colombier 	out = doprint(buf, buf+SIZE, fmt, arg);
29*9a747e4fSDavid du Colombier 	va_end(arg);
30*9a747e4fSDavid du Colombier 	n = write(f, buf, (long)(out-buf));
31*9a747e4fSDavid du Colombier 	return n;
32*9a747e4fSDavid du Colombier }
33*9a747e4fSDavid du Colombier 
34*9a747e4fSDavid du Colombier int
35*9a747e4fSDavid du Colombier sprint(char *buf, char *fmt, ...)
36*9a747e4fSDavid du Colombier {
37*9a747e4fSDavid du Colombier 	char *out;
38*9a747e4fSDavid du Colombier 	va_list arg;
39*9a747e4fSDavid du Colombier 	int scol;
40*9a747e4fSDavid du Colombier 
41*9a747e4fSDavid du Colombier 	scol = printcol;
42*9a747e4fSDavid du Colombier 	va_start(arg, fmt);
43*9a747e4fSDavid du Colombier 	out = doprint(buf, buf+SIZE, fmt, arg);
44*9a747e4fSDavid du Colombier 	va_end(arg);
45*9a747e4fSDavid du Colombier 	printcol = scol;
46*9a747e4fSDavid du Colombier 	return out-buf;
47*9a747e4fSDavid du Colombier }
48*9a747e4fSDavid du Colombier 
49*9a747e4fSDavid du Colombier int
50*9a747e4fSDavid du Colombier snprint(char *buf, int len, char *fmt, ...)
51*9a747e4fSDavid du Colombier {
52*9a747e4fSDavid du Colombier 	char *out;
53*9a747e4fSDavid du Colombier 	va_list arg;
54*9a747e4fSDavid du Colombier 	int scol;
55*9a747e4fSDavid du Colombier 
56*9a747e4fSDavid du Colombier 	scol = printcol;
57*9a747e4fSDavid du Colombier 	va_start(arg, fmt);
58*9a747e4fSDavid du Colombier 	out = doprint(buf, buf+len, fmt, arg);
59*9a747e4fSDavid du Colombier 	va_end(arg);
60*9a747e4fSDavid du Colombier 	printcol = scol;
61*9a747e4fSDavid du Colombier 	return out-buf;
62*9a747e4fSDavid du Colombier }
63*9a747e4fSDavid du Colombier 
64*9a747e4fSDavid du Colombier char*
65*9a747e4fSDavid du Colombier seprint(char *buf, char *e, char *fmt, ...)
66*9a747e4fSDavid du Colombier {
67*9a747e4fSDavid du Colombier 	char *out;
68*9a747e4fSDavid du Colombier 	va_list arg;
69*9a747e4fSDavid du Colombier 	int scol;
70*9a747e4fSDavid du Colombier 
71*9a747e4fSDavid du Colombier 	scol = printcol;
72*9a747e4fSDavid du Colombier 	va_start(arg, fmt);
73*9a747e4fSDavid du Colombier 	out = doprint(buf, e, fmt, arg);
74*9a747e4fSDavid du Colombier 	va_end(arg);
75*9a747e4fSDavid du Colombier 	printcol = scol;
76*9a747e4fSDavid du Colombier 	return out;
77*9a747e4fSDavid du Colombier }
78