3static int fsw_streq_ISO88591_UTF8(
void *s1data,
void *s2data,
int len)
10 for (i = 0; i < len; i++) {
13 if ((c2 & 0xe0) == 0xc0) {
14 c2 = ((c2 & 0x1f) << 6) | (*p2++ & 0x3f);
15 }
else if ((c2 & 0xf0) == 0xe0) {
16 c2 = ((c2 & 0x0f) << 12) | ((*p2++ & 0x3f) << 6);
18 }
else if ((c2 & 0xf8) == 0xf0) {
19 c2 = ((c2 & 0x07) << 18) | ((*p2++ & 0x3f) << 12);
20 c2 |= ((*p2++ & 0x3f) << 6);
29static int fsw_streq_ISO88591_UTF16(
void *s1data,
void *s2data,
int len)
36 for (i = 0; i < len; i++) {
45static int fsw_streq_ISO88591_UTF16_SWAPPED(
void *s1data,
void *s2data,
int len)
52 for (i = 0; i < len; i++) {
61static int fsw_streq_UTF8_UTF16(
void *s1data,
void *s2data,
int len)
68 for (i = 0; i < len; i++) {
70 if ((c1 & 0xe0) == 0xc0) {
71 c1 = ((c1 & 0x1f) << 6) | (*p1++ & 0x3f);
72 }
else if ((c1 & 0xf0) == 0xe0) {
73 c1 = ((c1 & 0x0f) << 12) | ((*p1++ & 0x3f) << 6);
75 }
else if ((c1 & 0xf8) == 0xf0) {
76 c1 = ((c1 & 0x07) << 18) | ((*p1++ & 0x3f) << 12);
77 c1 |= ((*p1++ & 0x3f) << 6);
87static int fsw_streq_UTF8_UTF16_SWAPPED(
void *s1data,
void *s2data,
int len)
94 for (i = 0; i < len; i++) {
96 if ((c1 & 0xe0) == 0xc0) {
97 c1 = ((c1 & 0x1f) << 6) | (*p1++ & 0x3f);
98 }
else if ((c1 & 0xf0) == 0xe0) {
99 c1 = ((c1 & 0x0f) << 12) | ((*p1++ & 0x3f) << 6);
100 c1 |= (*p1++ & 0x3f);
101 }
else if ((c1 & 0xf8) == 0xf0) {
102 c1 = ((c1 & 0x07) << 18) | ((*p1++ & 0x3f) << 12);
103 c1 |= ((*p1++ & 0x3f) << 6);
104 c1 |= (*p1++ & 0x3f);
113static int fsw_streq_UTF16_UTF16_SWAPPED(
void *s1data,
void *s2data,
int len)
120 for (i = 0; i < len; i++) {
146 for (i = 0; i < srclen; i++) {
148 if ((c & 0xe0) == 0xc0) {
149 c = ((c & 0x1f) << 6) | (*sp++ & 0x3f);
150 }
else if ((c & 0xf0) == 0xe0) {
151 c = ((c & 0x0f) << 12) | ((*sp++ & 0x3f) << 6);
153 }
else if ((c & 0xf8) == 0xf0) {
154 c = ((c & 0x07) << 18) | ((*sp++ & 0x3f) << 12);
155 c |= ((*sp++ & 0x3f) << 6);
180 for (i = 0; i < srclen; i++) {
187static fsw_status_t fsw_strcoerce_UTF16_SWAPPED_ISO88591(
void *srcdata,
int srclen,
struct fsw_string *dest)
204 for (i = 0; i < srclen; i++) {
228 for (i = 0; i < srclen; i++) {
252 for (i = 0; i < srclen; i++) {
254 if ((c & 0xe0) == 0xc0) {
255 c = ((c & 0x1f) << 6) | (*sp++ & 0x3f);
256 }
else if ((c & 0xf0) == 0xe0) {
257 c = ((c & 0x0f) << 12) | ((*sp++ & 0x3f) << 6);
259 }
else if ((c & 0xf8) == 0xf0) {
260 c = ((c & 0x07) << 18) | ((*sp++ & 0x3f) << 12);
261 c |= ((*sp++ & 0x3f) << 6);
286 for (i = 0; i < srclen; i++) {
303 for (i = 0; i < srclen; i++) {
308 else if (c < 0x000800)
310 else if (c < 0x010000)
318 dest->
size = destsize;
325 for (i = 0; i < srclen; i++) {
330 }
else if (c < 0x000800) {
331 *dp++ = 0xc0 | ((c >> 6) & 0x1f);
332 *dp++ = 0x80 | (c & 0x3f);
333 }
else if (c < 0x010000) {
334 *dp++ = 0xe0 | ((c >> 12) & 0x0f);
335 *dp++ = 0x80 | ((c >> 6) & 0x3f);
336 *dp++ = 0x80 | (c & 0x3f);
338 *dp++ = 0xf0 | ((c >> 18) & 0x07);
339 *dp++ = 0x80 | ((c >> 12) & 0x3f);
340 *dp++ = 0x80 | ((c >> 6) & 0x3f);
341 *dp++ = 0x80 | (c & 0x3f);
357 for (i = 0; i < srclen; i++) {
362 else if (c < 0x000800)
364 else if (c < 0x010000)
372 dest->
size = destsize;
379 for (i = 0; i < srclen; i++) {
384 }
else if (c < 0x000800) {
385 *dp++ = 0xc0 | ((c >> 6) & 0x1f);
386 *dp++ = 0x80 | (c & 0x3f);
387 }
else if (c < 0x010000) {
388 *dp++ = 0xe0 | ((c >> 12) & 0x0f);
389 *dp++ = 0x80 | ((c >> 6) & 0x3f);
390 *dp++ = 0x80 | (c & 0x3f);
392 *dp++ = 0xf0 | ((c >> 18) & 0x07);
393 *dp++ = 0x80 | ((c >> 12) & 0x3f);
394 *dp++ = 0x80 | ((c >> 6) & 0x3f);
395 *dp++ = 0x80 | (c & 0x3f);
411 for (i = 0; i < srclen; i++) {
416 else if (c < 0x000800)
418 else if (c < 0x010000)
426 dest->
size = destsize;
433 for (i = 0; i < srclen; i++) {
438 }
else if (c < 0x000800) {
439 *dp++ = 0xc0 | ((c >> 6) & 0x1f);
440 *dp++ = 0x80 | (c & 0x3f);
441 }
else if (c < 0x010000) {
442 *dp++ = 0xe0 | ((c >> 12) & 0x0f);
443 *dp++ = 0x80 | ((c >> 6) & 0x3f);
444 *dp++ = 0x80 | (c & 0x3f);
446 *dp++ = 0xf0 | ((c >> 18) & 0x07);
447 *dp++ = 0x80 | ((c >> 12) & 0x3f);
448 *dp++ = 0x80 | ((c >> 6) & 0x3f);
449 *dp++ = 0x80 | (c & 0x3f);
#define FSW_SWAPVALUE_U16(v)
@ FSW_STRING_TYPE_ISO88591
#define fsw_alloc(size, ptrptr)
void * data
Data pointer (may be NULL if type is EMPTY or len is zero)
int len
Length in characters.
int size
Total data size in bytes.
int type
Encoding of the string - empty, ISO-8859-1, UTF8, UTF16.