X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/fccdde7866bf77774afabfdb32370f1123dac2cc..9322ba2854211794c27fae9468768b80b767c211:/sbr/concat.c diff --git a/sbr/concat.c b/sbr/concat.c index f5cf1aea..afe48206 100644 --- a/sbr/concat.c +++ b/sbr/concat.c @@ -12,6 +12,11 @@ #include +/* concat returns a non-NULL malloc'd pointer to the catenation of the + * argument strings less their NUL terminators other than the last. The + * arguments are terminated by a NULL. + * + * Example: concat("abc", "def", "", "g", NULL) returns "abcdefg". */ char * concat (const char *s1, ...) { @@ -27,11 +32,11 @@ concat (const char *s1, ...) dp = sp = mh_xmalloc(len); - sp = copy(s1, sp); + sp = stpcpy(sp, s1); va_start(list, s1); while ((cp = va_arg (list, char *))) - sp = copy(cp, sp); + sp = stpcpy(sp, cp); va_end(list); return dp;