static char * perm_copy3(const char *s1, const char *s2, const char *s3) { char *p; size_t l1 = strlen(s1); size_t l2 = strlen(s2); size_t l3 = strlen(s3)+1; /* Include final NUL */ p = perm_alloc(l1+l2+l3); memcpy(p, s1, l1); memcpy(p+l1, s2, l2); memcpy(p+l1+l2, s3, l3); return p; }
static char *perm_copy(const char *string) { char *p; size_t len; if (!string) return NULL; len = strlen(string)+1; /* Include final NUL */ p = perm_alloc(len); memcpy(p, string, len); return p; }
/* perm_copy -- just like strdup() */ PRIVATE char *perm_copy(char *s) { char *t = (char *) perm_alloc(strlen(s)+1); strcpy(t, s); return t; }