version 1.50, 2020/06/02 11:29:00 |
version 1.51, 2020/06/02 17:17:44 |
|
|
m.data[1] = (offset >> 8) & 0xff; |
m.data[1] = (offset >> 8) & 0xff; |
m.data[2] = (offset >> 16); |
m.data[2] = (offset >> 16); |
} |
} |
*uc = m.uc; |
*uc = htonl(m.uc); |
return (UTF8_DONE); |
return (UTF8_DONE); |
|
|
fail: |
fail: |
if (ud->width == 1) |
if (ud->width == 1) |
*uc = utf8_space1.uc; |
*uc = htonl(utf8_space1.uc); |
else |
else |
*uc = utf8_space2.uc; |
*uc = htonl(utf8_space2.uc); |
return (UTF8_ERROR); |
return (UTF8_ERROR); |
} |
} |
|
|
|
|
void |
void |
utf8_to_data(utf8_char uc, struct utf8_data *ud) |
utf8_to_data(utf8_char uc, struct utf8_data *ud) |
{ |
{ |
union utf8_map m = { .uc = uc }; |
union utf8_map m = { .uc = ntohl(uc) }; |
struct utf8_item *ui; |
struct utf8_item *ui; |
u_int offset; |
u_int offset; |
|
|
|
|
|
|
if (width == 2) |
if (width == 2) |
m.flags |= UTF8_FLAG_WIDTH2; |
m.flags |= UTF8_FLAG_WIDTH2; |
return (m.uc); |
return (htonl(m.uc)); |
} |
} |
|
|
/* Set a single character. */ |
/* Set a single character. */ |