From 0ee5ee3c3b3003a021f3bccbd558891d26a4870b Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Fri, 1 Feb 2002 20:24:50 +0000 Subject: [PATCH] (collate_finish): Assign a wide char collation sequence value to multi character collating elements, and avoid over writing by non-character elements. --- locale/programs/ld-collate.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 6d238a658e0..915f6185717 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -1666,6 +1666,10 @@ collate_finish (struct localedef_t *locale, struct charmap_t *charmap) runp->wcseqorder = wcseqact++; } + else if (runp->mbs != NULL && runp->weights != NULL) + { + runp->wcseqorder = wcseqact++; + } /* Up to the next entry. */ runp = runp->next; @@ -1700,8 +1704,9 @@ collate_finish (struct localedef_t *locale, 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]); -- 2.47.2