c concatenate and allocate string
// null protected
char* strconcat(char *str1, const char *str2)
{
char *str = NULL;
size_t len1 = 0;
size_t len2 = 0;
if (str1)
len1 = strlen(str1);
if (str2)
len2 = strlen(str2);
if (!(str = calloc(sizeof(char), (len1 + len2 + 1))))
return NULL;
if (str1)
memcpy(str, str1, len1);
if (str2)
memcpy(str + len1, str2, len2);
return (str);
}