Lines Matching refs:spos
49 size_t spos, dpos; in utf8_to_utf16() local
57 spos = dpos = 0; in utf8_to_utf16()
58 while (spos<src_len) { in utf8_to_utf16()
59 if (s[spos] < 0x80) in utf8_to_utf16()
60 c = s[spos++]; in utf8_to_utf16()
62 && (spos >= src_len || !IS_CONT(s[spos+1])) in utf8_to_utf16()
63 && s[spos]>=0xa0) { in utf8_to_utf16()
65 c = s[spos++]; in utf8_to_utf16()
67 else if (s[spos] < 0xc0 || s[spos] >= 0xf5) { in utf8_to_utf16()
71 spos++; in utf8_to_utf16()
74 else if (s[spos] < 0xe0) { in utf8_to_utf16()
75 if (spos >= src_len || !IS_CONT(s[spos+1])) { in utf8_to_utf16()
76 spos++; in utf8_to_utf16()
80 c = ((s[spos] & 0x3f) << 6) | (s[spos+1] & 0x3f); in utf8_to_utf16()
81 spos += 2; in utf8_to_utf16()
88 else if (s[spos] < 0xf0) { in utf8_to_utf16()
89 if (spos >= src_len-2 in utf8_to_utf16()
90 || !IS_CONT(s[spos+1]) || !IS_CONT(s[spos+2])) { in utf8_to_utf16()
91 spos++; in utf8_to_utf16()
95 c = ((s[spos] & 0x0f) << 12) | ((s[spos+1] & 0x3f) << 6) in utf8_to_utf16()
96 | (s[spos+2] & 0x3f); in utf8_to_utf16()
97 spos += 3; in utf8_to_utf16()
108 if (spos >= src_len-3 || !IS_CONT(s[spos+1]) in utf8_to_utf16()
109 || !IS_CONT(s[spos+2]) || !IS_CONT(s[spos+3])) { in utf8_to_utf16()
110 spos++; in utf8_to_utf16()
115 cc = ((s[spos] & 0x03) << 18) | ((s[spos+1] & 0x3f) << 12) in utf8_to_utf16()
116 | ((s[spos+2] & 0x3f) << 6) | (s[spos+3] & 0x3f); in utf8_to_utf16()
117 spos += 4; in utf8_to_utf16()
148 uint16_t spos, dpos; in utf16_to_utf8() local
156 for (spos=0; spos<src_len; spos++) { in utf16_to_utf8()
157 if (src[spos] < 0x80) { in utf16_to_utf8()
159 ADD_BYTE(src[spos]); in utf16_to_utf8()
161 else if (src[spos] < 0x800) { in utf16_to_utf8()
163 ADD_BYTE(0xc0 | (src[spos]>>6)); in utf16_to_utf8()
164 ADD_BYTE(0x80 | (src[spos] & 0x3f)); in utf16_to_utf8()
166 else if ((src[spos] & 0xdc00) == 0xd800) { in utf16_to_utf8()
169 if (spos == src_len - 1 || (src[spos] & 0xdc00) != 0xdc00) { in utf16_to_utf8()
174 spos++; in utf16_to_utf8()
176 c = (((src[spos]&0x3ff) << 10) | (src[spos+1]&0x3ff)) + 0x10000; in utf16_to_utf8()
182 else if ((src[spos] & 0xdc00) == 0xdc00) { in utf16_to_utf8()
188 ADD_BYTE(0xe0 | src[spos]>>12); in utf16_to_utf8()
189 ADD_BYTE(0x80 | ((src[spos]>>6) & 0x3f)); in utf16_to_utf8()
190 ADD_BYTE(0x80 | (src[spos] & 0x3f)); in utf16_to_utf8()