9 Dynscat(char **dst
, ...)
14 size_t curLen
, catLen
, srcLen
;
16 if (dst
== (char **) 0)
21 src
= va_arg(ap
, char *);
23 catLen
+= strlen(src
);
24 src
= va_arg(ap
, char *);
28 if ((*dst
== NULL
) || (**dst
== '\0'))
31 curLen
= strlen(*dst
);
34 newdst
= malloc(curLen
+ catLen
+ 2);
36 newdst
= realloc(*dst
, curLen
+ catLen
+ 2);
40 dcp
= newdst
+ curLen
;
42 src
= va_arg(ap
, char *);
45 memcpy(dcp
, src
, srcLen
);
47 src
= va_arg(ap
, char *);