Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

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