XS.xs
if(ph > pt) { sv_catpvn(out, pt, (STRLEN)(ph - pt)); } bytes_consumed = consume_utf8_bytes(ph, ubuf); if(!bytes_consumed) { bytes_consumed = consume_latin_byte(ph, ubuf); } sv_catpvn(out, ubuf, strnlen(ubuf, 8)); i += bytes_consumed - 1; ph += bytes_consumed - 1; pt = ph + 1;