|
|
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.