The whole function needs more thoughts:
* you first don't want to divide the strings! The function just compare them
* the pointer arithmetic formerly used can't apply anymore, so you need to have counters to retain your position in the strings (i.e, `s_pos` and `p_pos`). You can then use MCStringGetNativeCharAtIndex() to retrieve the characters of the strings (and each time there is a `p++` or `s++`, instead of `*s` or `*p`. The appropriate counter shall be increased after the statement.
* `while (*s)`'s equivalent would be `while(s_pos < MCStringGetLength(s))`: you want to loop through the whole string, which ends with a NULL character (in which case, `*s` is NULL).
* for the recursive call of `match()` (l1785 of your file), you should create a substring from `p` and `s`, with a starting point at respectively `p_pos` and `s_pos`.