about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-10-02 02:07:50 +0000
committerUlrich Drepper <drepper@redhat.com>2007-10-02 02:07:50 +0000
commitd7c51a0c1a7b649256a79c65037d5a5d86e51823 (patch)
treeebfd93f5eb6d0f9475ef97768b8bb5e7a58c1424
parent035ef8d75735b3cee4daa87f17abe682551a1a9f (diff)
downloadglibc-d7c51a0c1a7b649256a79c65037d5a5d86e51823.tar.gz
glibc-d7c51a0c1a7b649256a79c65037d5a5d86e51823.tar.xz
glibc-d7c51a0c1a7b649256a79c65037d5a5d86e51823.zip
* locales/am_ET (LC_COLLATE): Define new script after copy.
-rw-r--r--locale/programs/ld-collate.c7
-rw-r--r--localedata/ChangeLog4
-rw-r--r--localedata/locales/am_ET8
3 files changed, 12 insertions, 7 deletions
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index 0cd378f21b..1332660fb7 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -2660,7 +2660,6 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
 
   if (nowtok == tok_copy)
     {
-      state = 2;
       now = lr_token (ldfile, charmap, result, NULL, verbose);
       if (now->tok != tok_string)
 	{
@@ -3327,7 +3326,9 @@ error while adding equivalent collating symbol"));
 		  was_ellipsis = tok_none;
 		}
 	    }
-	  else if (state != 2 && state != 3)
+	  else if (state == 0 && copy_locale == NULL)
+	    goto err_label;
+	  else if (state != 0 && state != 2 && state != 3)
 	    goto err_label;
 	  state = 3;
 
@@ -3796,7 +3797,7 @@ error while adding equivalent collating symbol"));
 	  /* Next we assume `LC_COLLATE'.  */
 	  if (!ignore_content)
 	    {
-	      if (state == 0)
+	      if (state == 0 && copy_locale == NULL)
 		/* We must either see a copy statement or have
 		   ordering values.  */
 		lr_error (ldfile,
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 4875125dae..3d287fe3ac 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,7 @@
+2007-10-01  Ulrich Drepper  <drepper@redhat.com>
+
+	* locales/am_ET (LC_COLLATE): Define new script after copy.
+
 2007-09-30  Ulrich Drepper  <drepper@redhat.com>
 
 	* locales/cs_SR: Removed.
diff --git a/localedata/locales/am_ET b/localedata/locales/am_ET
index eb40a9eac2..5aa2ca110a 100644
--- a/localedata/locales/am_ET
+++ b/localedata/locales/am_ET
@@ -56,14 +56,14 @@ END LC_IDENTIFICATION
 
 LC_COLLATE
 %
-%  The ETHIOPIC script declaration must come first.
-%
-script <ETHIOPIC>
-%
 % Copy the template from ISO/IEC 14651
 %
 copy "iso14651_t1"
 %
+%  The ETHIOPIC script declaration must come first.
+%
+script <ETHIOPIC>
+%
 %  Correcting Unicode's linguistic ordering to the traditional.
 %
 collating-symbol <HOY>