public static int preciseLength(Encoding enc, byte[]bytes, int p, int end) { if (p >= end) return -1 - (1); int n = enc.length(bytes, p, end); if (n > end - p) return -1 - (n - (end - p)); return n; }
public static int preciseLength(Encoding enc, byte[]bytes, int p, int end) { if (p >= end) return -1 - (1); int n = enc.length(bytes, p, end); if (n > end - p) return -1 - (n - (end - p)); return n; }
public boolean canBeSplit(Encoding enc) { if (end > p) { return enc.length(bytes, p, end) < (end - p); } return false; }
public boolean canBeSplit(Encoding enc) { if (end > p) { return enc.length(bytes, p, end) < (end - p); } return false; }
void concatStr(byte[]lbytes, int p, int end, boolean raw, Encoding enc) { int i; for (i = length; p < end && i < OPT_EXACT_MAXLEN;) { int len = enc.length(lbytes, p, end); if (i + len > OPT_EXACT_MAXLEN) break; for (int j = 0; j < len && p < end; j++) { bytes[i++] = lbytes[p++]; } } length = i; }
void concatStr(byte[]lbytes, int p, int end, boolean raw, Encoding enc) { int i; for (i = length; p < end && i < OPT_EXACT_MAXLEN;) { int len = enc.length(lbytes, p, end); if (i + len > OPT_EXACT_MAXLEN) break; for (int j = 0; j < len && p < end; j++) { bytes[i++] = lbytes[p++]; } } length = i; }
private static int strNullChar(byte[] sBytes, int s, int len, final int minlen, Encoding enc) { int e = s + len; for (; s + minlen <= e; s += enc.length(sBytes, s, e)) { if (zeroFilled(sBytes, s, minlen)) return s; } return -1; }
private static int strNullChar(byte[] sBytes, int s, int len, final int minlen, Encoding enc) { int e = s + len; for (; s + minlen <= e; s += enc.length(sBytes, s, e)) { if (zeroFilled(sBytes, s, minlen)) return s; } return -1; }
protected final void fetch() { c = enc.mbcToCode(bytes, p, stop); lastFetched = p; p += enc.length(bytes, p, stop); }
public static int preciseLength(Encoding enc, byte[]bytes, int p, int end) { if (p >= end) return MBCLEN_NEEDMORE(1); int n = enc.length(bytes, p, end); if (n > end - p) return MBCLEN_NEEDMORE(n - (end - p)); return n; }
public int precise_mbclen() { byte[] data = lexb.getUnsafeBytes(); int begin = lexb.begin(); // we subtract one since we have read past first byte by time we are calling this. return current_enc.length(data, begin + lex_p - 1, begin + lex_pend); }
private void opCClass() { if (s >= range || !isInBitSet()) {opFail(); return;} ip += BitSet.BITSET_SIZE; s += enc.length(bytes, s, end); /* OP_CCLASS can match mb-code. \D, \S */ if (s > end) s = end; sprev = sbegin; // break; }
private void opNotWord() { if (s >= range || enc.isMbcWord(bytes, s, end)) {opFail(); return;} s += enc.length(bytes, s, end); sprev = sbegin; // break; }
private void opAsciiWord() { if (s >= range || !isMbcAsciiWord(enc, bytes, s, end)) {opFail(); return;} s += enc.length(bytes, s, end); sprev = sbegin; // break; }
public static int preciseLength(Encoding enc, byte[]bytes, int p, int end) { if (p >= end) return MBCLEN_NEEDMORE(1); int n = enc.length(bytes, p, end); if (n > end - p) return MBCLEN_NEEDMORE(n - (end - p)); return n; }
private void opWord() { if (s >= range || !enc.isMbcWord(bytes, s, end)) {opFail(); return;} s += enc.length(bytes, s, end); sprev = sbegin; // break; }
private void opNotWord() { if (s >= range || enc.isMbcWord(bytes, s, end)) {opFail(); return;} s += enc.length(bytes, s, end); sprev = sbegin; // break; }
private void opAsciiWord() { if (s >= range || !isMbcAsciiWord(enc, bytes, s, end)) {opFail(); return;} s += enc.length(bytes, s, end); sprev = sbegin; // break; }
public static int length(Encoding enc, byte[]bytes, int p, int end) { int n = enc.length(bytes, p, end); if (MBCLEN_CHARFOUND_P(n) && MBCLEN_CHARFOUND_LEN(n) <= end - p) return MBCLEN_CHARFOUND_LEN(n); int min = enc.minLength(); return min <= end - p ? min : end - p; }
private int positionEnd(Matcher matcher, Encoding enc, int begin, int range) { int end = matcher.getEnd(); if (matcher.getBegin() == end) { if (value.getRealSize() > end) { return end + enc.length(value.getUnsafeBytes(), begin + end, range); } else { return end + 1; } } else { return end; } }