|
|
1.1 ! root 1: # include <sccs.h> ! 2: ! 3: SCCSID(@(#)ztack.c 7.1 2/5/81) ! 4: ! 5: /* ! 6: ** LOCAL STRING CONCATENATE ! 7: ** Strings `a' and `b' are concatenated and left in an ! 8: ** internal buffer. A pointer to that buffer is returned. ! 9: ** ! 10: ** Ztack can be called recursively as: ! 11: ** ztack(ztack(ztack(w, x), y), z); ! 12: */ ! 13: ! 14: char * ! 15: ztack(a, b) ! 16: register char *a, *b; ! 17: { ! 18: register char *c; ! 19: static char buf[101]; ! 20: ! 21: c = buf; ! 22: ! 23: while (*a) ! 24: *c++ = *a++; ! 25: while (*b) ! 26: *c++ = *b++; ! 27: *c = '\0'; ! 28: if (buf[100] != 0) ! 29: syserr("ztack overflow: %s", buf); ! 30: return (buf); ! 31: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.