diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-02-01 21:08:09 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-02-01 21:08:09 +0000 |
commit | 9c1084a38005ab319ce3f34e2faf087b59e9b0e8 (patch) | |
tree | faa821863cc5c2afc2dd2e1a3d0f403fae65db64 /locale/programs | |
parent | 635f35fcf4974d1363dbb57524102e23f8157036 (diff) | |
download | glibc-9c1084a38005ab319ce3f34e2faf087b59e9b0e8.tar.gz glibc-9c1084a38005ab319ce3f34e2faf087b59e9b0e8.tar.xz glibc-9c1084a38005ab319ce3f34e2faf087b59e9b0e8.zip |
Update.
2002-01-18 Isamu Hasegawa <isamu@yamato.ibm.com> * locale/program/ld-collate.c (collate_finish): Assign a wide char collation sequence value to multi character collating elements, and avoid over writing by non-character elements.
Diffstat (limited to 'locale/programs')
-rw-r--r-- | locale/programs/ld-collate.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 4f587c113c..0da1261bd8 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1995. @@ -1672,6 +1672,9 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap) runp->wcseqorder = wcseqact++; } + else if (runp->mbs != NULL && runp->weights != NULL) + /* This is for collation elements. */ + runp->wcseqorder = wcseqact++; /* Up to the next entry. */ runp = runp->next; @@ -1706,8 +1709,9 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap) struct element_t *lastp; /* Insert the collation sequence value. */ - collseq_table_add (&collate->wcseqorder, runp->wcs[0], - runp->wcseqorder); + if (runp->is_character) + collseq_table_add (&collate->wcseqorder, runp->wcs[0], + runp->wcseqorder); /* Find the point where to insert in the list. */ e = wchead_table_get (&collate->wcheads, runp->wcs[0]); |