+2000-01-16  Ulrich Drepper  <drepper@cygnus.com>
+
+       * locale/programs/locfile.h (handle_copy): Take repertoire map
+       name as parameter, not pointer to repertoire structure.
+       * locale/programs/ld-address.c: Change caller.
+       * locale/programs/ld-ctype.c: Likewise.
+       * locale/programs/ld-identification.c: Likewise.
+       * locale/programs/ld-measurement.c: Likewise.
+       * locale/programs/ld-messages.c: Likewise.
+       * locale/programs/ld-monetary.c: Likewise.
+       * locale/programs/ld-name.c: Likewise.
+       * locale/programs/ld-numeric.c: Likewise.
+       * locale/programs/ld-paper.c: Likewise.
+       * locale/programs/ld-telephone.c: Likewise.
+       * locale/programs/ld-time.c: Likewise.
+
 2000-01-13  Ulrich Drepper  <drepper@cygnus.com>
 
        * sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code generated if
 
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
              struct charmap_t *charmap, const char *repertoire_name,
              int ignore_content)
 {
-  struct repertoire_t *repertoire = NULL;
   struct locale_address_t *address;
   struct token *now;
   struct token *arg;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_ADDRESS' must be free.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_address,
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_address,
                   LC_ADDRESS, "LC_ADDRESS", ignore_content);
       return;
     }
 
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_ctype, LC_CTYPE,
-                  "LC_CTYPE", ignore_content);
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_ctype,
+                  LC_CTYPE, "LC_CTYPE", ignore_content);
       return;
     }
 
 
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
               struct charmap_t *charmap, const char *repertoire_name,
               int ignore_content)
 {
-  struct repertoire_t *repertoire = NULL;
   struct locale_identification_t *identification;
   struct token *now;
   struct token *arg;
   int category;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_IDENTIFICATION' must be free.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_identification,
-                  LC_IDENTIFICATION, "LC_IDENTIFICATION", ignore_content);
+      handle_copy (ldfile, charmap, repertoire_name, result,
+                  tok_lc_identification, LC_IDENTIFICATION,
+                  "LC_IDENTIFICATION", ignore_content);
       return;
     }
 
 
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
   struct token *arg;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_MEASUREMENT' must be free.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_measurement,
-                  LC_MEASUREMENT, "LC_MEASUREMENT", ignore_content);
+      handle_copy (ldfile, charmap, repertoire_name, result,
+                  tok_lc_measurement, LC_MEASUREMENT, "LC_MEASUREMENT",
+                  ignore_content);
       return;
     }
 
 
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_messages,
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_messages,
                   LC_MESSAGES, "LC_MESSAGES", ignore_content);
       return;
     }
 
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
               struct charmap_t *charmap, const char *repertoire_name,
               int ignore_content)
 {
-  struct repertoire_t *repertoire = NULL;
   struct locale_monetary_t *monetary;
   struct token *now;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_MONETARY' must be free.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_monetary,
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_monetary,
                   LC_MONETARY, "LC_MONETARY", ignore_content);
       return;
     }
 
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
           struct charmap_t *charmap, const char *repertoire_name,
           int ignore_content)
 {
-  struct repertoire_t *repertoire = NULL;
   struct locale_name_t *name;
   struct token *now;
   struct token *arg;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_NAME' must be empty.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_name, LC_NAME,
-                  "LC_NAME", ignore_content);
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_name,
+                  LC_NAME, "LC_NAME", ignore_content);
       return;
     }
 
 
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
              struct charmap_t *charmap, const char *repertoire_name,
              int ignore_content)
 {
-  struct repertoire_t *repertoire = NULL;
   struct locale_numeric_t *numeric;
   struct token *now;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_NUMERIC' must be free.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_numeric,
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_numeric,
                   LC_NUMERIC, "LC_NUMERIC", ignore_content);
       return;
     }
 
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
            struct charmap_t *charmap, const char *repertoire_name,
            int ignore_content)
 {
-  struct repertoire_t *repertoire = NULL;
   struct locale_paper_t *paper;
   struct token *now;
   struct token *arg;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_PAPER' must be empty.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_paper,
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_paper,
                   LC_PAPER, "LC_PAPER", ignore_content);
       return;
     }
 
-/* Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
                struct charmap_t *charmap, const char *repertoire_name,
                int ignore_content)
 {
-  struct repertoire_t *repertoire = NULL;
   struct locale_telephone_t *telephone;
   struct token *now;
   struct token *arg;
   enum token_t nowtok;
 
-  /* Get the repertoire we have to use.  */
-  if (repertoire_name != NULL)
-    repertoire = repertoire_read (repertoire_name);
-
   /* The rest of the line containing `LC_TELEPHONE' must be free.  */
   lr_ignore_rest (ldfile, 1);
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_telephone,
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_telephone,
                   LC_TELEPHONE, "LC_TELEPHONE", ignore_content);
       return;
     }
 
-/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
   /* If we see `copy' now we are almost done.  */
   if (nowtok == tok_copy)
     {
-      handle_copy (ldfile, charmap, repertoire, result, tok_lc_time,
+      handle_copy (ldfile, charmap, repertoire_name, result, tok_lc_time,
                   LC_TIME, "LC_TIME", ignore_content);
       return;
     }
 
-/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
 /* General handling of `copy'.  */
 static inline void
 handle_copy (struct linereader *ldfile, struct charmap_t *charmap,
-            struct repertoire_t *repertoire, struct localedef_t *result,
+            const char *repertoire_name, struct localedef_t *result,
             enum token_t token, int locale, const char *locale_name,
             int ignore_content)
 {
       else
        {
          (void) add_to_readlist (locale, now->val.str.startmb,
-                                 repertoire->name, 1);
+                                 repertoire_name, 1);
          result->copy_name[locale] = now->val.str.startmb;
        }
     }