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