Same problem, you can't have the same `MCStringRef` as input and output for `MCStringDivideAtIndex()`, you need to use a temporary value. And same as for `consume_whitespace()`, the signature should change to an `in/out` param which is released and assigned at the end of the function, or `in` and `out` parameters.