X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/6c42153ad9362cc676ea66563bf400d7511b3b68..babec898bb63d36349aae85a8cbde6b97b274192:/sbr/getcpy.c diff --git a/sbr/getcpy.c b/sbr/getcpy.c index f23641dd..42779e02 100644 --- a/sbr/getcpy.c +++ b/sbr/getcpy.c @@ -1,36 +1,24 @@ - -/* - * getcpy.c -- copy a string in managed memory +/* getcpy.c -- copy a string in managed memory * - * THIS IS OBSOLETE. NEED TO REPLACE ALL OCCURENCES + * THIS IS OBSOLETE. NEED TO REPLACE ALL OCCURRENCES * OF GETCPY WITH STRDUP. BUT THIS WILL REQUIRE * CHANGING PARTS OF THE CODE TO DEAL WITH NULL VALUES. * - * $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 "h/mh.h" +#include "getcpy.h" +#include "h/utils.h" +/* Return malloc'd copy of str, or of "" if NULL, exit on failure. */ char * -getcpy (char *str) +getcpy(const char *str) { - char *cp; - size_t len; + if (str) + return mh_xstrdup(str); - if (str) { - len = strlen(str) + 1; - if (!(cp = malloc (len))) - adios (NULL, "unable to allocate string storage"); - memcpy (cp, str, len); - } else { - if (!(cp = malloc ((size_t) 1))) - adios (NULL, "unable to allocate string storage"); - *cp = '\0'; - } - return cp; + return mh_xcalloc(1, 1); }