summary refs log tree commit diff
path: root/locale/programs
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 /locale/programs
parent035ef8d75735b3cee4daa87f17abe682551a1a9f (diff)
downloadglibc-d7c51a0c1a7b649256a79c65037d5a5d86e51823.tar.gz
glibc-d7c51a0c1a7b649256a79c65037d5a5d86e51823.tar.xz
glibc-d7c51a0c1a7b649256a79c65037d5a5d86e51823.zip
* locales/am_ET (LC_COLLATE): Define new script after copy.
Diffstat (limited to 'locale/programs')
-rw-r--r--locale/programs/ld-collate.c7
1 files changed, 4 insertions, 3 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,