1: /*
   2: **  LOCAL STRING CONCATENATE
   3: **	Strings `a' and `b' are concatenated and left in an
   4: **	internal buffer.  A pointer to that buffer is returned.
   5: **
   6: **	Ztack can be called recursively as:
   7: **		ztack(ztack(ztack(w, x), y), z);
   8: */
   9: 
  10: char *ztack(a, b)
  11: char    *a, *b;
  12: {
  13:     register char   *c;
  14:     register char   *q;
  15:     static char buf[101];
  16: 
  17:     c = buf;
  18: 
  19:     q = a;
  20:     while (*q)
  21:         *c++ = *q++;
  22:     q = b;
  23:     while (*q)
  24:         *c++ = *q++;
  25:     *c = '\0';
  26:     if (buf[100] != 0)
  27:         syserr("ztack overflow: %s", buf);
  28:     return (buf);
  29: }
Last modified: 1980-12-17
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1930
Valid CSS Valid XHTML 1.0 Strict