|
@@ -234,7 +234,7 @@ int wctob(wint_t c)
|
|
|
|
|
|
|
|
|
* anything outside of 0-0x7f is illegal in C/POSIX and UTF-8 locales. */
|
|
|
-
|
|
|
+
|
|
|
|
|
|
|
|
|
return ((c >= 0) && (c < 0x80)) ? c : EOF;
|
|
@@ -928,109 +928,109 @@ libc_hidden_proto(wcswidth)
|
|
|
( defined(__CTYPE_HAS_8_BIT_LOCALES) || defined(__CTYPE_HAS_UTF_8_LOCALES) )
|
|
|
|
|
|
static const unsigned char new_idx[] = {
|
|
|
- 0, 5, 5, 6, 10, 15, 28, 39,
|
|
|
- 48, 48, 71, 94, 113, 128, 139, 154,
|
|
|
- 175, 186, 188, 188, 188, 188, 188, 188,
|
|
|
- 203, 208, 208, 208, 208, 208, 208, 208,
|
|
|
- 208, 219, 219, 219, 222, 222, 222, 222,
|
|
|
- 222, 222, 222, 222, 222, 222, 222, 224,
|
|
|
- 224, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
- 231, 231, 231, 231, 231, 233, 233, 233,
|
|
|
- 233, 233, 233, 233, 234, 234, 234, 234,
|
|
|
- 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
- 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
- 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
- 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
- 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
- 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
- 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
- 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
- 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
- 236, 237, 237, 238, 241, 241, 242, 249,
|
|
|
- 255,
|
|
|
+ 0, 5, 5, 6, 10, 15, 28, 39,
|
|
|
+ 48, 48, 71, 94, 113, 128, 139, 154,
|
|
|
+ 175, 186, 188, 188, 188, 188, 188, 188,
|
|
|
+ 203, 208, 208, 208, 208, 208, 208, 208,
|
|
|
+ 208, 219, 219, 219, 222, 222, 222, 222,
|
|
|
+ 222, 222, 222, 222, 222, 222, 222, 224,
|
|
|
+ 224, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 231, 231, 231,
|
|
|
+ 231, 231, 231, 231, 231, 233, 233, 233,
|
|
|
+ 233, 233, 233, 233, 234, 234, 234, 234,
|
|
|
+ 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
+ 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
+ 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
+ 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
+ 234, 234, 234, 234, 234, 234, 234, 234,
|
|
|
+ 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
+ 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
+ 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
+ 236, 236, 236, 236, 236, 236, 236, 236,
|
|
|
+ 236, 237, 237, 238, 241, 241, 242, 249,
|
|
|
+ 255,
|
|
|
};
|
|
|
|
|
|
static const unsigned char new_tbl[] = {
|
|
|
- 0x00, 0x01, 0x20, 0x7f, 0xa0, 0x00, 0x00, 0x50,
|
|
|
- 0x60, 0x70, 0x00, 0x83, 0x87, 0x88, 0x8a, 0x00,
|
|
|
- 0x91, 0xa2, 0xa3, 0xba, 0xbb, 0xbe, 0xbf, 0xc0,
|
|
|
- 0xc1, 0xc3, 0xc4, 0xc5, 0x00, 0x4b, 0x56, 0x70,
|
|
|
- 0x71, 0xd6, 0xe5, 0xe7, 0xe9, 0xea, 0xee, 0x00,
|
|
|
- 0x0f, 0x10, 0x11, 0x12, 0x30, 0x4b, 0xa6, 0xb1,
|
|
|
- 0x00, 0x01, 0x03, 0x3c, 0x3d, 0x41, 0x49, 0x4d,
|
|
|
- 0x4e, 0x51, 0x55, 0x62, 0x64, 0x81, 0x82, 0xbc,
|
|
|
- 0xbd, 0xc1, 0xc5, 0xcd, 0xce, 0xe2, 0xe4, 0x00,
|
|
|
- 0x02, 0x03, 0x3c, 0x3d, 0x41, 0x43, 0x47, 0x49,
|
|
|
- 0x4b, 0x4e, 0x70, 0x72, 0x81, 0x83, 0xbc, 0xbd,
|
|
|
- 0xc1, 0xc6, 0xc7, 0xc9, 0xcd, 0xce, 0x00, 0x01,
|
|
|
- 0x02, 0x3c, 0x3d, 0x3f, 0x40, 0x41, 0x44, 0x4d,
|
|
|
- 0x4e, 0x56, 0x57, 0x82, 0x83, 0xc0, 0xc1, 0xcd,
|
|
|
- 0xce, 0x00, 0x3e, 0x41, 0x46, 0x49, 0x4a, 0x4e,
|
|
|
- 0x55, 0x57, 0xbf, 0xc0, 0xc6, 0xc7, 0xcc, 0xce,
|
|
|
- 0x00, 0x41, 0x44, 0x4d, 0x4e, 0xca, 0xcb, 0xd2,
|
|
|
- 0xd5, 0xd6, 0xd7, 0x00, 0x31, 0x32, 0x34, 0x3b,
|
|
|
- 0x47, 0x4f, 0xb1, 0xb2, 0xb4, 0xba, 0xbb, 0xbd,
|
|
|
- 0xc8, 0xce, 0x00, 0x18, 0x1a, 0x35, 0x36, 0x37,
|
|
|
- 0x38, 0x39, 0x3a, 0x71, 0x7f, 0x80, 0x85, 0x86,
|
|
|
- 0x88, 0x90, 0x98, 0x99, 0xbd, 0xc6, 0xc7, 0x00,
|
|
|
- 0x2d, 0x31, 0x32, 0x33, 0x36, 0x38, 0x39, 0x3a,
|
|
|
- 0x58, 0x5a, 0x00, 0x60, 0x00, 0x12, 0x15, 0x32,
|
|
|
- 0x35, 0x52, 0x54, 0x72, 0x74, 0xb7, 0xbe, 0xc6,
|
|
|
- 0xc7, 0xc9, 0xd4, 0x00, 0x0b, 0x0f, 0xa9, 0xaa,
|
|
|
- 0x00, 0x0b, 0x10, 0x2a, 0x2f, 0x60, 0x64, 0x6a,
|
|
|
- 0x70, 0xd0, 0xeb, 0x00, 0x29, 0x2b, 0x00, 0x80,
|
|
|
- 0x00, 0x2a, 0x30, 0x3f, 0x40, 0x99, 0x9b, 0x00,
|
|
|
- 0xd0, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x1e,
|
|
|
- 0x1f, 0x00, 0x00, 0x10, 0x20, 0x24, 0x30, 0x70,
|
|
|
- 0xff, 0x00, 0x61, 0xe0, 0xe7, 0xf9, 0xfc,
|
|
|
+ 0x00, 0x01, 0x20, 0x7f, 0xa0, 0x00, 0x00, 0x50,
|
|
|
+ 0x60, 0x70, 0x00, 0x83, 0x87, 0x88, 0x8a, 0x00,
|
|
|
+ 0x91, 0xa2, 0xa3, 0xba, 0xbb, 0xbe, 0xbf, 0xc0,
|
|
|
+ 0xc1, 0xc3, 0xc4, 0xc5, 0x00, 0x4b, 0x56, 0x70,
|
|
|
+ 0x71, 0xd6, 0xe5, 0xe7, 0xe9, 0xea, 0xee, 0x00,
|
|
|
+ 0x0f, 0x10, 0x11, 0x12, 0x30, 0x4b, 0xa6, 0xb1,
|
|
|
+ 0x00, 0x01, 0x03, 0x3c, 0x3d, 0x41, 0x49, 0x4d,
|
|
|
+ 0x4e, 0x51, 0x55, 0x62, 0x64, 0x81, 0x82, 0xbc,
|
|
|
+ 0xbd, 0xc1, 0xc5, 0xcd, 0xce, 0xe2, 0xe4, 0x00,
|
|
|
+ 0x02, 0x03, 0x3c, 0x3d, 0x41, 0x43, 0x47, 0x49,
|
|
|
+ 0x4b, 0x4e, 0x70, 0x72, 0x81, 0x83, 0xbc, 0xbd,
|
|
|
+ 0xc1, 0xc6, 0xc7, 0xc9, 0xcd, 0xce, 0x00, 0x01,
|
|
|
+ 0x02, 0x3c, 0x3d, 0x3f, 0x40, 0x41, 0x44, 0x4d,
|
|
|
+ 0x4e, 0x56, 0x57, 0x82, 0x83, 0xc0, 0xc1, 0xcd,
|
|
|
+ 0xce, 0x00, 0x3e, 0x41, 0x46, 0x49, 0x4a, 0x4e,
|
|
|
+ 0x55, 0x57, 0xbf, 0xc0, 0xc6, 0xc7, 0xcc, 0xce,
|
|
|
+ 0x00, 0x41, 0x44, 0x4d, 0x4e, 0xca, 0xcb, 0xd2,
|
|
|
+ 0xd5, 0xd6, 0xd7, 0x00, 0x31, 0x32, 0x34, 0x3b,
|
|
|
+ 0x47, 0x4f, 0xb1, 0xb2, 0xb4, 0xba, 0xbb, 0xbd,
|
|
|
+ 0xc8, 0xce, 0x00, 0x18, 0x1a, 0x35, 0x36, 0x37,
|
|
|
+ 0x38, 0x39, 0x3a, 0x71, 0x7f, 0x80, 0x85, 0x86,
|
|
|
+ 0x88, 0x90, 0x98, 0x99, 0xbd, 0xc6, 0xc7, 0x00,
|
|
|
+ 0x2d, 0x31, 0x32, 0x33, 0x36, 0x38, 0x39, 0x3a,
|
|
|
+ 0x58, 0x5a, 0x00, 0x60, 0x00, 0x12, 0x15, 0x32,
|
|
|
+ 0x35, 0x52, 0x54, 0x72, 0x74, 0xb7, 0xbe, 0xc6,
|
|
|
+ 0xc7, 0xc9, 0xd4, 0x00, 0x0b, 0x0f, 0xa9, 0xaa,
|
|
|
+ 0x00, 0x0b, 0x10, 0x2a, 0x2f, 0x60, 0x64, 0x6a,
|
|
|
+ 0x70, 0xd0, 0xeb, 0x00, 0x29, 0x2b, 0x00, 0x80,
|
|
|
+ 0x00, 0x2a, 0x30, 0x3f, 0x40, 0x99, 0x9b, 0x00,
|
|
|
+ 0xd0, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x1e,
|
|
|
+ 0x1f, 0x00, 0x00, 0x10, 0x20, 0x24, 0x30, 0x70,
|
|
|
+ 0xff, 0x00, 0x61, 0xe0, 0xe7, 0xf9, 0xfc,
|
|
|
};
|
|
|
|
|
|
static const signed char new_wtbl[] = {
|
|
|
- 0, -1, 1, -1, 1, 1, 0, 1,
|
|
|
- 0, 1, 1, 0, 1, 0, 1, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 0, 1, 0, 1, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 1, 0, 1, 0, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 0, 1, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 1,
|
|
|
- 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
- 0, 1, 2, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 1, 0, 1, 0, 1,
|
|
|
- 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
- 1, 0, 1, 1, 2, 1, 1, 2,
|
|
|
- 2, 0, 2, 1, 2, 0, 2, 2,
|
|
|
- 1, 1, 2, 1, 1, 2, 1, 0,
|
|
|
- 1, 1, 0, 1, 0, 1, 2, 1,
|
|
|
- 0, 2, 1, 2, 1, 0, 1,
|
|
|
+ 0, -1, 1, -1, 1, 1, 0, 1,
|
|
|
+ 0, 1, 1, 0, 1, 0, 1, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 0, 1, 0, 1, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 1, 0, 1, 0, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 0, 1, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 1,
|
|
|
+ 0, 1, 0, 1, 0, 1, 0, 1,
|
|
|
+ 0, 1, 2, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 1, 0, 1, 0, 1,
|
|
|
+ 1, 0, 1, 0, 1, 0, 1, 0,
|
|
|
+ 1, 0, 1, 1, 2, 1, 1, 2,
|
|
|
+ 2, 0, 2, 1, 2, 0, 2, 2,
|
|
|
+ 1, 1, 2, 1, 1, 2, 1, 0,
|
|
|
+ 1, 1, 0, 1, 0, 1, 2, 1,
|
|
|
+ 0, 2, 1, 2, 1, 0, 1,
|
|
|
};
|
|
|
|
|
|
libc_hidden_proto(wcsnrtombs)
|
|
@@ -1043,7 +1043,7 @@ int wcswidth(const wchar_t *pwcs, size_t n)
|
|
|
|
|
|
if (ENCODING == __ctype_encoding_7_bit) {
|
|
|
size_t i;
|
|
|
-
|
|
|
+
|
|
|
for (i = 0 ; (i < n) && pwcs[i] ; i++) {
|
|
|
if (pwcs[i] != ((unsigned char)(pwcs[i]))) {
|
|
|
return -1;
|
|
@@ -1064,7 +1064,7 @@ int wcswidth(const wchar_t *pwcs, size_t n)
|
|
|
|
|
|
else if (ENCODING == __ctype_encoding_utf8) {
|
|
|
size_t i;
|
|
|
-
|
|
|
+
|
|
|
for (i = 0 ; (i < n) && pwcs[i] ; i++) {
|
|
|
if ( (((__uwchar_t)((pwcs[i]) - 0xfffeU)) < 2)
|
|
|
|| (((__uwchar_t)((pwcs[i]) - 0xd800U)) < (0xe000U - 0xd800U))
|
|
@@ -1501,7 +1501,7 @@ size_t weak_function iconv(iconv_t cd, char **__restrict inbuf,
|
|
|
}
|
|
|
wc += (wc2 << 16);
|
|
|
} else if (px->tocodeset & 1) wc = bswap_16(wc);
|
|
|
- }
|
|
|
+ }
|
|
|
(*outbuf)[0] = (char)((unsigned char)(wc));
|
|
|
(*outbuf)[1] = (char)((unsigned char)(wc >> 8));
|
|
|
if (inco == 4) {
|
|
@@ -1580,10 +1580,10 @@ extern const unsigned char __iconv_codesets[];
|
|
|
char *progname;
|
|
|
int hide_errors;
|
|
|
|
|
|
-static void error_msg(const char *fmt, ...)
|
|
|
+static void error_msg(const char *fmt, ...)
|
|
|
__attribute__ ((noreturn, format (printf, 1, 2)));
|
|
|
|
|
|
-static void error_msg(const char *fmt, ...)
|
|
|
+static void error_msg(const char *fmt, ...)
|
|
|
{
|
|
|
va_list arg;
|
|
|
|