home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pp / pp-6.0 / Lib / util / multcat.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-18  |  816 b   |  45 lines

  1. /* multcat: concatenate strings together */
  2.  
  3. # ifndef lint
  4. static char Rcsid[] = "@(#)$Header: /xtel/pp/pp-beta/Lib/util/RCS/multcat.c,v 6.0 1991/12/18 20:25:18 jpo Rel $";
  5. # endif
  6.  
  7. /*
  8.  * $Header: /xtel/pp/pp-beta/Lib/util/RCS/multcat.c,v 6.0 1991/12/18 20:25:18 jpo Rel $
  9.  *
  10.  * $Log: multcat.c,v $
  11.  * Revision 6.0  1991/12/18  20:25:18  jpo
  12.  * Release 6.0
  13.  *
  14.  */
  15.  
  16.  
  17.  
  18. #include "util.h"
  19. #include <varargs.h>
  20.  
  21. /* VARARGS 1*/
  22. char *
  23. multcat (va_alist)
  24. va_dcl
  25. {
  26.     register va_list ap;
  27.     register char  *oldstr, *ptr;
  28.     char    *newstr;
  29.     unsigned  newlen;
  30.  
  31.     va_start(ap);
  32.     for (newlen = 1; oldstr = va_arg(ap, char *);)
  33.         newlen += strlen (oldstr);
  34.     va_end(ap);
  35.  
  36.     ptr = newstr = smalloc ((int)newlen);
  37.  
  38.     va_start(ap);
  39.     for (; oldstr = va_arg(ap, char *); ptr--)
  40.         while(*ptr++ = *oldstr++);
  41.     va_end(ap);
  42.  
  43.     return (newstr);
  44. }
  45.