- 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;