diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-11-20 17:42:38 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-11-20 17:42:38 +0000 |
commit | 9e2b7438ecec43f3c6bd55326529bf06fc1aaeb8 (patch) | |
tree | c5dac1656a87864be3390283ae2d97b072c474b3 /locale | |
parent | 6324a838a3620367b54b76571ed4ca315d1e2ca6 (diff) | |
download | glibc-9e2b7438ecec43f3c6bd55326529bf06fc1aaeb8.tar glibc-9e2b7438ecec43f3c6bd55326529bf06fc1aaeb8.tar.gz glibc-9e2b7438ecec43f3c6bd55326529bf06fc1aaeb8.tar.bz2 glibc-9e2b7438ecec43f3c6bd55326529bf06fc1aaeb8.zip |
Update.
1999-11-20 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/ld-ctype.c (ctype_read): Fix reading of <U....>
values in charmaps.
Diffstat (limited to 'locale')
-rw-r--r-- | locale/programs/ld-ctype.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c index 39bc27bf68..a08095bbf5 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -274,7 +274,9 @@ ctype_startup (struct linereader *lr, struct localedef_t *locale, { ctype->map_collection[0][cnt] = cnt; ctype->map_collection[1][cnt] = cnt; +#ifdef PREDEFINED_CLASSES ctype->map_collection[2][cnt] = cnt; +#endif ctype->map256_collection[0][cnt] = cnt; ctype->map256_collection[1][cnt] = cnt; } @@ -1843,11 +1845,6 @@ unknown character class `%s' in category `LC_CTYPE'"), uint32_t wch; struct charseq *seq; - if (now->tok != tok_bsymbol) - /* XXX Cannot be handled yet. We will have support - for tok_ucs4 soon. */ - goto err_label; - if (ellipsis_token == tok_none) { if (get_character (now, charmap, repertoire, &seq, &wch)) @@ -1867,8 +1864,13 @@ unknown character class `%s' in category `LC_CTYPE'"), last_token = now->tok; /* Terminate the string. */ - now->val.str.startmb[now->val.str.lenmb] = '\0'; - last_str = now->val.str.startmb; + if (last_token == tok_bsymbol) + { + now->val.str.startmb[now->val.str.lenmb] = '\0'; + last_str = now->val.str.startmb; + } + else + last_str = NULL; last_seq = seq; last_wch = wch; memcpy (last_charcode, now->val.charcode.bytes, 16); |