Lines Matching refs:spos
47 size_t spos, dpos; in utf8_to_utf16() local
55 spos = dpos = 0; in utf8_to_utf16()
56 while (spos<src_len) { in utf8_to_utf16()
57 if (s[spos] < 0x80) in utf8_to_utf16()
58 c = s[spos++]; in utf8_to_utf16()
60 && (spos >= src_len || !IS_CONT(s[spos+1])) in utf8_to_utf16()
61 && s[spos]>=0xa0) { in utf8_to_utf16()
63 c = s[spos++]; in utf8_to_utf16()
65 else if (s[spos] < 0xc0 || s[spos] >= 0xf5) { in utf8_to_utf16()
69 spos++; in utf8_to_utf16()
72 else if (s[spos] < 0xe0) { in utf8_to_utf16()
73 if (spos >= src_len || !IS_CONT(s[spos+1])) { in utf8_to_utf16()
74 spos++; in utf8_to_utf16()
78 c = ((s[spos] & 0x3f) << 6) | (s[spos+1] & 0x3f); in utf8_to_utf16()
79 spos += 2; in utf8_to_utf16()
86 else if (s[spos] < 0xf0) { in utf8_to_utf16()
87 if (spos >= src_len-2 in utf8_to_utf16()
88 || !IS_CONT(s[spos+1]) || !IS_CONT(s[spos+2])) { in utf8_to_utf16()
89 spos++; in utf8_to_utf16()
93 c = ((s[spos] & 0x0f) << 12) | ((s[spos+1] & 0x3f) << 6) in utf8_to_utf16()
94 | (s[spos+2] & 0x3f); in utf8_to_utf16()
95 spos += 3; in utf8_to_utf16()
106 if (spos >= src_len-3 || !IS_CONT(s[spos+1]) in utf8_to_utf16()
107 || !IS_CONT(s[spos+2]) || !IS_CONT(s[spos+3])) { in utf8_to_utf16()
108 spos++; in utf8_to_utf16()
113 cc = ((s[spos] & 0x03) << 18) | ((s[spos+1] & 0x3f) << 12) in utf8_to_utf16()
114 | ((s[spos+2] & 0x3f) << 6) | (s[spos+3] & 0x3f); in utf8_to_utf16()
115 spos += 4; in utf8_to_utf16()
146 uint16_t spos, dpos; in utf16_to_utf8() local
154 for (spos=0; spos<src_len; spos++) { in utf16_to_utf8()
155 if (src[spos] < 0x80) { in utf16_to_utf8()
157 ADD_BYTE(src[spos]); in utf16_to_utf8()
159 else if (src[spos] < 0x800) { in utf16_to_utf8()
161 ADD_BYTE(0xc0 | (src[spos]>>6)); in utf16_to_utf8()
162 ADD_BYTE(0x80 | (src[spos] & 0x3f)); in utf16_to_utf8()
164 else if ((src[spos] & 0xdc00) == 0xd800) { in utf16_to_utf8()
167 if (spos == src_len - 1 || (src[spos] & 0xdc00) != 0xdc00) { in utf16_to_utf8()
172 spos++; in utf16_to_utf8()
174 c = (((src[spos]&0x3ff) << 10) | (src[spos+1]&0x3ff)) + 0x10000; in utf16_to_utf8()
180 else if ((src[spos] & 0xdc00) == 0xdc00) { in utf16_to_utf8()
186 ADD_BYTE(0xe0 | src[spos]>>12); in utf16_to_utf8()
187 ADD_BYTE(0x80 | ((src[spos]>>6) & 0x3f)); in utf16_to_utf8()
188 ADD_BYTE(0x80 | (src[spos] & 0x3f)); in utf16_to_utf8()