mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-18 06:30:05 +00:00
[BZ #645]
2007-10-02 Ulrich Drepper <drepper@redhat.com> [BZ #645] * locale/programs/ld-collate.c (collate_finish): Compare against last used section which is known to have rules defined. (collate_read): After order_start, correctly record order of sections and queue sections up.
This commit is contained in:
parent
95bddc0c3b
commit
80e069e0b2
@ -1,3 +1,11 @@
|
|||||||
|
2007-10-02 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
[BZ #645]
|
||||||
|
* locale/programs/ld-collate.c (collate_finish): Compare against last
|
||||||
|
used section which is known to have rules defined.
|
||||||
|
(collate_read): After order_start, correctly record order of sections
|
||||||
|
and queue sections up.
|
||||||
|
|
||||||
2007-10-01 Ulrich Drepper <drepper@redhat.com>
|
2007-10-01 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
[BZ #5071]
|
[BZ #5071]
|
||||||
|
@ -1545,9 +1545,10 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
|
|||||||
or in none. */
|
or in none. */
|
||||||
for (i = 0; i < nrules; ++i)
|
for (i = 0; i < nrules; ++i)
|
||||||
for (sect = collate->sections; sect != NULL; sect = sect->next)
|
for (sect = collate->sections; sect != NULL; sect = sect->next)
|
||||||
if (sect->rules != NULL
|
if (sect != collate->current_section
|
||||||
|
&& sect->rules != NULL
|
||||||
&& ((sect->rules[i] & sort_position)
|
&& ((sect->rules[i] & sort_position)
|
||||||
!= (collate->sections->rules[i] & sort_position)))
|
!= (collate->current_section->rules[i] & sort_position)))
|
||||||
{
|
{
|
||||||
WITH_CUR_LOCALE (error (0, 0, _("\
|
WITH_CUR_LOCALE (error (0, 0, _("\
|
||||||
%s: `position' must be used for a specific level in all sections or none"),
|
%s: `position' must be used for a specific level in all sections or none"),
|
||||||
@ -3214,13 +3215,16 @@ error while adding equivalent collating symbol"));
|
|||||||
{
|
{
|
||||||
/* Insert sp in the collate->sections list,
|
/* Insert sp in the collate->sections list,
|
||||||
right after collate->current_section. */
|
right after collate->current_section. */
|
||||||
if (collate->current_section == NULL)
|
if (collate->current_section != NULL)
|
||||||
collate->current_section = sp;
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
sp->next = collate->current_section->next;
|
sp->next = collate->current_section->next;
|
||||||
collate->current_section->next = sp;
|
collate->current_section->next = sp;
|
||||||
}
|
}
|
||||||
|
else if (collate->sections == NULL)
|
||||||
|
/* This is the first section to be defined. */
|
||||||
|
collate->sections = sp;
|
||||||
|
|
||||||
|
collate->current_section = sp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Next should come the end of the line or a semicolon. */
|
/* Next should come the end of the line or a semicolon. */
|
||||||
|
Loading…
Reference in New Issue
Block a user