Code:
ptr = (char *)malloc((size +1) * sizeof(char *));
1) You don't need (read: shouldn't) typecast the return of
malloc or it's kin in C ever. (Or any function that returns a
void* for that matter.)
2) You don't want the size you're allocating. You're allocating
size +1 character pointers. I think you meant characters.
3) You don't ever actually doing anything with
ptr. At all. You don't
free it, or anything. You just allocate it, test to see if
malloc failed, and then don't do anything at all with it.
...
4) You never actually return anything in your
isaMUstring function. You also never actually check it's return value, so why not make it void? In fact, I don't really see any point for this function at all, since it doesn't do anything you're trying to do or use it for.
5) Your "string" in isaMUstring will never return 3. You're testing to see if it
exactly matches. You should be using something like
strchr if you want to see if it contains a specific character, rather than trying to see if it exactly matches, character for character, another string.
Quzah.