Si te fijas tu funcion devuelve un caracter y no un puntero a la cadena. Asi quedaria:
Código C++:
Ver originalchar * stringLen(const char *string1, const char *string2, int len, int len2)
{
short i=0,c=0, c2=0;
while (*(string1++) != '\0' && i<len)
{
c++;
i++;
}
i=0;
while (*(string2++) != '\0' && i<len2)
{
c2++;
i++;
}
string1 -= (c+1);
string2 -= (c2+1);
if (c>c2)
return string1;
else
return string2;
}