Paolo Bonzini wrote: > The point is that > u8_mbtouc will look only one byte past the end of a (valid or invalid) > character
This is not guaranteed. If you call u8_mbtouc(&uc, needle, 4) you are asserting that needle[0..3] are valid memory addresses. If it's not the case, u8_mbtouc may crash. You should better use u8_strmbtouc in this case. Bruno