From c056ee48cbf7d3fc88d840af64d75c68ac281519 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 22 Jul 2000 04:25:38 +0000 Subject: [PATCH] Update. symbols and elements be named in reorder-after instructions. --- ChangeLog | 2 +- locale/programs/ld-collate.c | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index eb0269beda..ec60f4a9c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ 2000-07-21 Ulrich Drepper * locale/programs/ld-collate.c (collate_read): Allow collating - symbols be named in reorder-after instructions. + symbols and elements be named in reorder-after instructions. Reported by Yoshito Kawada . * locale/programs/ld-collate.c (handle_ellipsis): Test for diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index fc5b447932..125356dadb 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -3385,6 +3385,25 @@ error while adding equivalent collating symbol")); no_error = 0; } } + else if (find_entry (&collate->elem_table, + arg->val.str.startmb, + arg->val.str.lenmb, + (void **) &insp) == 0) + { + if (insp->last != NULL || insp->next != NULL) + collate->cursor = insp; + else + { + /* This is a collating element but its position + is not yet defined. */ + lr_error (ldfile, _("\ +%s: order for collating element %.*s not yet defined"), + "LC_COLLATE", (int) arg->val.str.lenmb, + arg->val.str.startmb); + collate->cursor = NULL; + no_error = 0; + } + } else { /* This is bad. The symbol after which we have to