aboutsummaryrefslogtreecommitdiff
path: root/locale/programs
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1999-11-20 17:42:38 +0000
committerUlrich Drepper <drepper@redhat.com>1999-11-20 17:42:38 +0000
commit9e2b7438ecec43f3c6bd55326529bf06fc1aaeb8 (patch)
treec5dac1656a87864be3390283ae2d97b072c474b3 /locale/programs
parent6324a838a3620367b54b76571ed4ca315d1e2ca6 (diff)
downloadglibc-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/programs')
-rw-r--r--locale/programs/ld-ctype.c16
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);