X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1691e80890e5d8ba258c51c214a3e91880e1db2b..4ac978448:/sbr/concat.c?ds=inline diff --git a/sbr/concat.c b/sbr/concat.c index 939a484f..234d1751 100644 --- a/sbr/concat.c +++ b/sbr/concat.c @@ -3,14 +3,22 @@ * concat.c -- concatenate a variable number (minimum of 1) * of strings in managed memory * - * $Id$ + * This code is Copyright (c) 2002, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. */ #include +#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 (char *s1, ...) +concat (const char *s1, ...) { char *cp, *dp, *sp; size_t len; @@ -22,8 +30,7 @@ concat (char *s1, ...) len += strlen (cp); va_end(list); - if (!(dp = sp = malloc(len))) - adios (NULL, "unable to allocate string storage"); + dp = sp = mh_xmalloc(len); sp = copy(s1, sp);