X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/942561da2455ee50a1eb82c8c4f2bdb5e25133d1..2b60a54adb3b0bf5a9b927708085492b816a6015:/sbr/getcpy.c diff --git a/sbr/getcpy.c b/sbr/getcpy.c index 4d99a803..615f307f 100644 --- a/sbr/getcpy.c +++ b/sbr/getcpy.c @@ -1,6 +1,4 @@ - -/* - * getcpy.c -- copy a string in managed memory +/* getcpy.c -- copy a string in managed memory * * THIS IS OBSOLETE. NEED TO REPLACE ALL OCCURRENCES * OF GETCPY WITH STRDUP. BUT THIS WILL REQUIRE @@ -14,20 +12,11 @@ #include #include - -char * -getcpy (const char *str) +/* Return malloc'd copy of str, or of "" if NULL, exit on failure. */ +char *getcpy(const char *str) { - char *cp; - size_t len; + if (str) + return mh_xstrdup(str); - if (str) { - len = strlen(str) + 1; - cp = mh_xmalloc (len); - memcpy (cp, str, len); - } else { - cp = mh_xmalloc ((size_t) 1); - *cp = '\0'; - } - return cp; + return mh_xcalloc(1, 1); }