Don't do this. Just use strcat() and strncpy() instead.
#include <stdlib.h>
char* concat(char*, char*);
int main (int argc, char** argv)
{
char *x = "something";
char *y = " completely different.";
char *combined = concat(x, y);
printf("And now for %s\n", combined);
}
char* concat(char *a, char *b)
{
char *target = malloc( strlen(a) + strlen(b) + 1 );
strcpy(target,a);
strcat(target,b);
return target;
}