Home | History | Annotate | Download | only in tzcode
      1 /*
      2 ** This file is in the public domain, so clarified as of
      3 ** 2006-07-17 by Arthur David Olson.
      4 */
      5 
      6 /*LINTLIBRARY*/
      7 
      8 #include "private.h"
      9 
     10 char *
     11 icatalloc(char *const old, const char *const new)
     12 {
     13 	register char *	result;
     14 	register int	oldsize, newsize;
     15 
     16 	newsize = (new == NULL) ? 0 : strlen(new);
     17 	if (old == NULL)
     18 		oldsize = 0;
     19 	else if (newsize == 0)
     20 		return old;
     21 	else	oldsize = strlen(old);
     22 	if ((result = realloc(old, oldsize + newsize + 1)) != NULL)
     23 		if (new != NULL)
     24 			(void) strcpy(result + oldsize, new);
     25 	return result;
     26 }
     27 
     28 char *
     29 icpyalloc(const char *const string)
     30 {
     31 	return icatalloc(NULL, string);
     32 }
     33