aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--locale/programs/ld-collate.c19
2 files changed, 20 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index eb0269beda..ec60f4a9c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
2000-07-21 Ulrich Drepper <drepper@redhat.com>
* 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 <KAWADA@jp.ibm.com>.
* 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