|
|
1.1 root 1: #include <varargs.h>
2:
3: #define SIZE 1024
4: extern int printcol;
5:
6: char *doprint();
7:
8: print(va_alist)
9: va_dcl
10: {
11: va_list args;
12: char *fmt;
13: char buf[SIZE], *out;
14:
15: va_start(args);
16: fmt = va_arg(args, char *);
17: va_end(args);
18: out = doprint(buf, fmt, (char *)args);
19: return write(1, buf, (int)(out-buf));
20: }
21:
22: fprint(va_alist)
23: va_dcl
24: {
25: va_list args;
26: char *fmt;
27: int f;
28: char buf[SIZE], *out;
29:
30: va_start(args);
31: f = va_arg(args, int);
32: fmt = va_arg(args, char *);
33: va_end(args);
34: out = doprint(buf, fmt, (char *)args);
35: return write(f, buf, (int)(out-buf));
36: }
37:
38: sprint(va_alist)
39: va_dcl
40: {
41: va_list args;
42: char *buf;
43: char *fmt;
44: char *out;
45: int scol;
46:
47: va_start(args);
48: buf = va_arg(args, char *);
49: fmt = va_arg(args, char *);
50: va_end(args);
51: scol = printcol;
52: out = doprint(buf, fmt, (char *)args);
53: printcol = scol;
54: return out-buf;
55: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.