When you use the third parameter remember that the function will return the number of characters it bypassed, which will *not* be the position in your source string. It's a simple fix to just add your third parameter value to the function result to get the position in the first string where the scan stopped, but I didn't think of it at first.