if (MBCLEN_INVALID_P(l) && i < len - 1) { int len2; int l2; for (len2 = len-1; 0 < len2; len2--) { l2 = preciseLength(enc, bytes, p, p + len2); if (!MBCLEN_INVALID_P(l2)) break;
if (MBCLEN_INVALID_P(l) && i < len - 1) { int len2; int l2; for (len2 = len-1; 0 < len2; len2--) { l2 = preciseLength(enc, bytes, p, p + len2); if (!MBCLEN_INVALID_P(l2)) break;
for (len2 = len-1; 0 < len2; len2--) { l2 = preciseLength(enc, bytes, p, p + len2); if (!MBCLEN_INVALID_P(l2)) break;
for (len2 = len-1; 0 < len2; len2--) { l2 = preciseLength(enc, bytes, p, p + len2); if (!MBCLEN_INVALID_P(l2)) break;
if (StringSupport.MBCLEN_INVALID_P(r)) { r = StringSupport.length(read, bytes.getUnsafeBytes(), 0, bytes.getRealSize());
if (StringSupport.MBCLEN_INVALID_P(r)) { r = StringSupport.length(read, bytes.getUnsafeBytes(), 0, bytes.getRealSize());
if (StringSupport.MBCLEN_INVALID_P(r)) { enc = fptr.encs.enc; throw runtime.newArgumentError("invalid byte sequence in " + enc); fptr.rbuf.len -= n; block.yield(context, runtime.newFixnum(c & 0xFFFFFFFF)); } else if (StringSupport.MBCLEN_INVALID_P(r)) { throw runtime.newArgumentError("invalid byte sequence in " + enc); } else if (StringSupport.MBCLEN_NEEDMORE_P(r)) {
if (StringSupport.MBCLEN_INVALID_P(r)) { enc = fptr.encs.enc; throw runtime.newArgumentError("invalid byte sequence in " + enc); fptr.rbuf.len -= n; block.yield(context, runtime.newFixnum(c & 0xFFFFFFFF)); } else if (StringSupport.MBCLEN_INVALID_P(r)) { throw runtime.newArgumentError("invalid byte sequence in " + enc); } else if (StringSupport.MBCLEN_NEEDMORE_P(r)) {
p += MBCLEN_CHARFOUND_LEN(ret); else if (MBCLEN_INVALID_P(ret)) { ret = enc.length(pBytes, q, q + clen); if (MBCLEN_NEEDMORE_P(ret)) break; if (MBCLEN_INVALID_P(ret)) continue; p += MBCLEN_CHARFOUND_LEN(ret); else if (MBCLEN_INVALID_P(ret)) { int q = p; int clen = enc.maxLength(); ret = enc.length(pBytes, q, q + clen); if (MBCLEN_NEEDMORE_P(ret)) break; if (MBCLEN_INVALID_P(ret)) continue;
p += MBCLEN_CHARFOUND_LEN(ret); else if (MBCLEN_INVALID_P(ret)) { ret = enc.length(pBytes, q, q + clen); if (MBCLEN_NEEDMORE_P(ret)) break; if (MBCLEN_INVALID_P(ret)) continue; p += MBCLEN_CHARFOUND_LEN(ret); else if (MBCLEN_INVALID_P(ret)) { int q = p; int clen = enc.maxLength(); ret = enc.length(pBytes, q, q + clen); if (MBCLEN_NEEDMORE_P(ret)) break; if (MBCLEN_INVALID_P(ret)) continue;
if (StringSupport.MBCLEN_INVALID_P(r)) { r = read_enc.length(cbuf.ptr, cbuf.off, cbuf.off + cbuf.len); str = shiftCbuf(context, r, str);
if (StringSupport.MBCLEN_INVALID_P(r)) { r = read_enc.length(cbuf.ptr, cbuf.off, cbuf.off + cbuf.len); str = shiftCbuf(context, r, str);