diff options
-rwxr-xr-x | iconvdata/tst-tables.sh | 1 | ||||
-rw-r--r-- | locale/programs/ld-ctype.c | 21 | ||||
-rw-r--r-- | localedata/ChangeLog | 6 | ||||
-rw-r--r-- | localedata/tests-mbwc/dat_wcscmp.c | 36 | ||||
-rw-r--r-- | localedata/tests-mbwc/tst_wcscmp.c | 1 | ||||
-rw-r--r-- | wcsmbs/Versions | 2 |
6 files changed, 36 insertions, 31 deletions
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh index bc57e1b83b..d5a74621ce 100755 --- a/iconvdata/tst-tables.sh +++ b/iconvdata/tst-tables.sh @@ -202,6 +202,7 @@ cat <<EOF | #ISO-2022-KR #ISO-2022-CN #ISO-2022-CN-EXT + #UTF-7 # EOF while read charset charmap; do diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c index 644bfbf7df..1d10cec618 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -3364,8 +3364,11 @@ struct wctype_table static inline void wctype_table_init (struct wctype_table *t) { + t->level1 = NULL; t->level1_alloc = t->level1_size = 0; + t->level2 = NULL; t->level2_alloc = t->level2_size = 0; + t->level3 = NULL; t->level3_alloc = t->level3_size = 0; } @@ -3413,10 +3416,8 @@ wctype_table_add (struct wctype_table *t, uint32_t wc) size_t alloc = 2 * t->level1_alloc; if (alloc <= index1) alloc = index1 + 1; - t->level1 = (t->level1_alloc > 0 - ? (uint32_t *) xrealloc ((char *) t->level1, - alloc * sizeof (uint32_t)) - : (uint32_t *) xmalloc (alloc * sizeof (uint32_t))); + t->level1 = (uint32_t *) xrealloc ((char *) t->level1, + alloc * sizeof (uint32_t)); t->level1_alloc = alloc; } while (index1 >= t->level1_size) @@ -3428,10 +3429,8 @@ wctype_table_add (struct wctype_table *t, uint32_t wc) if (t->level2_size == t->level2_alloc) { size_t alloc = 2 * t->level2_alloc + 1; - t->level2 = (t->level2_alloc > 0 - ? (uint32_t *) xrealloc ((char *) t->level2, - (alloc << t->q) * sizeof (uint32_t)) - : (uint32_t *) xmalloc ((alloc << t->q) * sizeof (uint32_t))); + t->level2 = (uint32_t *) xrealloc ((char *) t->level2, + (alloc << t->q) * sizeof (uint32_t)); t->level2_alloc = alloc; } i1 = t->level2_size << t->q; @@ -3448,10 +3447,8 @@ wctype_table_add (struct wctype_table *t, uint32_t wc) if (t->level3_size == t->level3_alloc) { size_t alloc = 2 * t->level3_alloc + 1; - t->level3 = (t->level3_alloc > 0 - ? (uint32_t *) xrealloc ((char *) t->level3, - (alloc << t->p) * sizeof (uint32_t)) - : (uint32_t *) xmalloc ((alloc << t->p) * sizeof (uint32_t))); + t->level3 = (uint32_t *) xrealloc ((char *) t->level3, + (alloc << t->p) * sizeof (uint32_t)); t->level3_alloc = alloc; } i1 = t->level3_size << t->p; diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 705414c903..b8899b3687 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,9 @@ +2000-09-30 Bruno Haible <haible@clisp.cons.org> + + * tests-mbwc/tst_wcscmp.c (tst_wcscmp): Take the sign of ret. + * tests-mbwc/dat_wcscmp.c (tst_wcscmp_loc): Don't expect precise + return values. Only the sign matters. + 2000-09-28 Ulrich Drepper <drepper@redhat.com> * locales/ar_SA: Last non <Uxxxx> entries removed. diff --git a/localedata/tests-mbwc/dat_wcscmp.c b/localedata/tests-mbwc/dat_wcscmp.c index fba0283ddf..d479ab49f3 100644 --- a/localedata/tests-mbwc/dat_wcscmp.c +++ b/localedata/tests-mbwc/dat_wcscmp.c @@ -26,27 +26,27 @@ TST_WCSCMP tst_wcscmp_loc [] = { }, { /*input.*/ { { 0x00D1,0x00D1,0x00D3,0x0000 }, { 0x0000,0x00D2,0x00D3,0x0000 }, }, /* #3 */ - /*expect*/ { 0,1,0x00D1, }, + /*expect*/ { 0,1,1, }, }, { /*input.*/ { { 0x0000,0x00D2,0x00D3,0x0000 }, { 0x00D1,0x00D1,0x00D3,0x0000 }, }, /* #4 */ - /*expect*/ { 0,1,-0x00D1, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x00D1,0x00D5,0x00D3,0x0000 }, { 0x00D1,0x00D2,0x00D3,0x0000 }, }, /* #5 */ - /*expect*/ { 0,1,3, }, + /*expect*/ { 0,1,1, }, }, { /*input.*/ { { 0x00D1,0x00D2,0x00D3,0x0000 }, { 0x00D1,0x00D2,0x00D9,0x0000 }, }, /* #6 */ - /*expect*/ { 0,1,-6, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x00D1,0x00D2,0x0000 }, { 0x00D1,0x00D2,0x00D9,0x0000 }, }, /* #7 */ - /*expect*/ { 0,1,-0x00D9, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x00D1,0x00D2,0x00D9,0x0000 }, { 0x00D1,0x00D2,0x0000 }, }, /* #8 */ - /*expect*/ { 0,1,0x00D9, }, + /*expect*/ { 0,1,1, }, }, { is_last: 1 } } @@ -64,27 +64,27 @@ TST_WCSCMP tst_wcscmp_loc [] = { }, { /*input.*/ { { 0x0041,0x0041,0x0043,0x0000 }, { 0x0000,0x0042,0x0043,0x0000 }, }, /* #3 */ - /*expect*/ { 0,1,0x0041, }, + /*expect*/ { 0,1,1, }, }, { /*input.*/ { { 0x0000,0x0042,0x0043,0x0000 }, { 0x0041,0x0041,0x0043,0x0000 }, }, /* #4 */ - /*expect*/ { 0,1,-0x0041, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x0041,0x0045,0x0043,0x0000 }, { 0x0041,0x0042,0x0043,0x0000 }, }, /* #5 */ - /*expect*/ { 0,1,3, }, + /*expect*/ { 0,1,1, }, }, { /*input.*/ { { 0x0041,0x0042,0x0043,0x0000 }, { 0x0041,0x0042,0x0049,0x0000 }, }, /* #6 */ - /*expect*/ { 0,1,-6, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x0041,0x0042,0x0000 }, { 0x0041,0x0042,0x0049,0x0000 }, }, /* #7 */ - /*expect*/ { 0,1,-0x0049, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x0041,0x0042,0x0049,0x0000 }, { 0x0041,0x0042,0x0000 }, }, /* #8 */ - /*expect*/ { 0,1,0x0049, }, + /*expect*/ { 0,1,1, }, }, { is_last: 1 } } @@ -102,27 +102,27 @@ TST_WCSCMP tst_wcscmp_loc [] = { }, { /*input.*/ { { 0x3041,0x3041,0x3043,0x0000 }, { 0x0000,0x3042,0x3043,0x0000 }, }, /* #3 */ - /*expect*/ { 0,1,0x3041, }, + /*expect*/ { 0,1,1, }, }, { /*input.*/ { { 0x0000,0x3042,0x3043,0x0000 }, { 0x3041,0x3041,0x3043,0x0000 }, }, /* #4 */ - /*expect*/ { 0,1,-0x3041, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x3041,0x3045,0x3043,0x0000 }, { 0x3041,0x3042,0x3043,0x0000 }, }, /* #5 */ - /*expect*/ { 0,1,3, }, + /*expect*/ { 0,1,1, }, }, { /*input.*/ { { 0x3041,0x3042,0x3043,0x0000 }, { 0x3041,0x3042,0x3049,0x0000 }, }, /* #6 */ - /*expect*/ { 0,1,-6, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x3041,0x3042,0x0000 }, { 0x3041,0x3042,0x3049,0x0000 }, }, /* #7 */ - /*expect*/ { 0,1,-0x3049, }, + /*expect*/ { 0,1,-1, }, }, { /*input.*/ { { 0x3041,0x3042,0x3049,0x0000 }, { 0x3041,0x3042,0x0000 }, }, /* #8 */ - /*expect*/ { 0,1,0x3049, }, + /*expect*/ { 0,1,1, }, }, { is_last: 1 } } diff --git a/localedata/tests-mbwc/tst_wcscmp.c b/localedata/tests-mbwc/tst_wcscmp.c index ecd825c228..594682ce9d 100644 --- a/localedata/tests-mbwc/tst_wcscmp.c +++ b/localedata/tests-mbwc/tst_wcscmp.c @@ -23,6 +23,7 @@ tst_wcscmp (FILE * fp, int debug_flg) ws1 = TST_INPUT (wcscmp).ws1; ws2 = TST_INPUT (wcscmp).ws2; ret = wcscmp (ws1, ws2); + ret = (ret > 0 ? 1 : ret < 0 ? -1 : 0); if (debug_flg) { diff --git a/wcsmbs/Versions b/wcsmbs/Versions index d0ba267756..6f2e72eb2a 100644 --- a/wcsmbs/Versions +++ b/wcsmbs/Versions @@ -1,7 +1,7 @@ libc { GLIBC_2.0 { # functions used in inline functions or macros - __wcsto*_internal; __mbrlen; + __wcsto*_internal; __mbrlen; __mbrtowc; # b* btowc; |