Wrap calls that output messages with WITH_CUR_LOCALE. Include "localedef.h"
authordrepper <drepper>
Tue, 5 Feb 2002 23:23:18 +0000 (23:23 +0000)
committerdrepper <drepper>
Tue, 5 Feb 2002 23:23:18 +0000 (23:23 +0000)
first.

19 files changed:
locale/programs/charmap-dir.c
locale/programs/charmap.c
locale/programs/ld-address.c
locale/programs/ld-collate.c
locale/programs/ld-ctype.c
locale/programs/ld-identification.c
locale/programs/ld-measurement.c
locale/programs/ld-messages.c
locale/programs/ld-monetary.c
locale/programs/ld-name.c
locale/programs/ld-numeric.c
locale/programs/ld-paper.c
locale/programs/ld-telephone.c
locale/programs/ld-time.c
locale/programs/linereader.c
locale/programs/linereader.h
locale/programs/localedef.c
locale/programs/locfile.c
locale/programs/repertoire.c

index 14cf765..a7a4535 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 #include <unistd.h>
 #include <sys/stat.h>
 
+#include "localedef.h"
 #include "charmap-dir.h"
 
-extern void *xmalloc (size_t n);
-extern void *xrealloc (void *p, size_t n);
-
 /* The data type of a charmap directory being traversed.  */
 struct charmap_dir
 {
@@ -58,8 +56,8 @@ charmap_opendir (const char *directory)
   dir = opendir (directory);
   if (dir == NULL)
     {
-      error (1, errno, gettext ("cannot read character map directory `%s'"),
-             directory);
+      WITH_CUR_LOCALE (error (1, errno, gettext ("\
+cannot read character map directory `%s'"), directory));
       return NULL;
     }
 
index 815a28d..ee755ba 100644 (file)
@@ -29,8 +29,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <error.h>
 
-#include "error.h"
+#include "localedef.h"
 #include "linereader.h"
 #include "charmap.h"
 #include "charmap-dir.h"
@@ -43,8 +44,6 @@
 #include "charmap-kw.h"
 
 
-extern void *xmalloc (size_t __n);
-
 /* Prototypes for local functions.  */
 static struct charmap_t *parse_charmap (struct linereader *cmfile,
                                        int verbose, int be_quiet);
@@ -133,7 +132,8 @@ charmap_read (const char *filename, int verbose, int be_quiet, int use_default)
          result = parse_charmap (cmfile, verbose, be_quiet);
 
          if (result == NULL && !be_quiet)
-           error (0, errno, _("character map file `%s' not found"), filename);
+           WITH_CUR_LOCALE (error (0, errno, _("\
+character map file `%s' not found"), filename));
        }
     }
 
@@ -190,8 +190,8 @@ charmap_read (const char *filename, int verbose, int be_quiet, int use_default)
        result = parse_charmap (cmfile, verbose, be_quiet);
 
       if (result == NULL)
-       error (4, errno, _("default character map file `%s' not found"),
-              DEFAULT_CHARMAP);
+       WITH_CUR_LOCALE (error (4, errno, _("\
+default character map file `%s' not found"), DEFAULT_CHARMAP));
     }
 
   /* Test of ASCII compatibility of locale encoding.
@@ -247,9 +247,9 @@ charmap_read (const char *filename, int verbose, int be_quiet, int use_default)
       while (*p++ != '\0');
 
       if (failed)
-       fprintf (stderr, _("\
+       WITH_CUR_LOCALE (fprintf (stderr, _("\
 character map `%s' is not ASCII compatible, locale not ISO C compliant\n"),
-                result->code_set_name);
+                                 result->code_set_name));
     }
 
   return result;
@@ -324,9 +324,9 @@ parse_charmap (struct linereader *cmfile, int verbose, int be_quiet)
              if (result->mb_cur_min > result->mb_cur_max)
                {
                  if (!be_quiet)
-                   error (0, 0, _("\
+                   WITH_CUR_LOCALE (error (0, 0, _("\
 %s: <mb_cur_max> must be greater than <mb_cur_min>\n"),
-                          cmfile->fname);
+                                           cmfile->fname));
 
                  result->mb_cur_min = result->mb_cur_max;
                }
@@ -829,14 +829,16 @@ only WIDTH definitions are allowed to follow the CHARMAP definition"));
          continue;
 
        default:
-         error (5, 0, _("%s: error in state machine"), __FILE__);
+         WITH_CUR_LOCALE (error (5, 0, _("%s: error in state machine"),
+                                 __FILE__));
          /* NOTREACHED */
        }
       break;
     }
 
   if (state != 91 && !be_quiet)
-    error (0, 0, _("%s: premature end of file"), cmfile->fname);
+    WITH_CUR_LOCALE (error (0, 0, _("%s: premature end of file"),
+                           cmfile->fname));
 
   lr_close (cmfile);
 
index adf6bbe..52b91cf 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -29,6 +29,7 @@
 
 #include <assert.h>
 
+#include "localedef.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -128,8 +129,8 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (address == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"),
-                  "LC_ADDRESS");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_ADDRESS"));
          address_startup (NULL, locale, 0);
          address = locale->categories[LC_ADDRESS].address;
          nothing = 1;
@@ -139,8 +140,8 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (address->postal_fmt == NULL)
     {
       if (! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_ADDRESS", "postal_fmt");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_ADDRESS", "postal_fmt"));
       /* Use as the default value the value of the i18n locale.  */
       address->postal_fmt = "%a%N%f%N%d%N%b%N%s %h %e %r%N%C-%z %T%N%c%N";
     }
@@ -151,8 +152,8 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       const char *cp = address->postal_fmt;
 
       if (*cp == '\0')
-       error (0, 0, _("%s: field `%s' must not be empty"),
-              "LC_ADDRESS", "postal_fmt");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"),
+                               "LC_ADDRESS", "postal_fmt"));
       else
        while (*cp != '\0')
          {
@@ -163,9 +164,9 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                  ++cp;
                if (strchr ("afdbshNtreCzTSc%", *cp) == NULL)
                  {
-                   error (0, 0, _("\
+                   WITH_CUR_LOCALE (error (0, 0, _("\
 %s: invalid escape `%%%c' sequence in field `%s'"),
-                          "LC_ADDRESS", *cp, "postal_fmt");
+                                           "LC_ADDRESS", *cp, "postal_fmt"));
                    break;
                  }
              }
@@ -177,7 +178,8 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (address->cat == NULL)                                                  \
     {                                                                        \
       if (verbose && ! nothing)                                                      \
-       error (0, 0, _("%s: field `%s' not defined"), "LC_ADDRESS", #cat);    \
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),        \
+                               "LC_ADDRESS", #cat));                         \
       address->cat = "";                                                     \
     }
 
@@ -194,16 +196,16 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (address->lang_term == NULL)
     {
       if (verbose && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"), "LC_ADDRESS",
-              "lang_term");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_ADDRESS", "lang_term"));
       address->lang_term = "";
       cnt = sizeof (iso639) / sizeof (iso639[0]);
     }
   else if (address->lang_term[0] == '\0')
     {
       if (verbose)
-       error (0, 0, _("%s: field `%s' must not be empty"),
-              "LC_ADDRESS", "lang_term");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"),
+                               "LC_ADDRESS", "lang_term"));
       cnt = sizeof (iso639) / sizeof (iso639[0]);
     }
   else
@@ -213,22 +215,23 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
        if (strcmp (address->lang_term, iso639[cnt].term) == 0)
          break;
       if (cnt == sizeof (iso639) / sizeof (iso639[0]))
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: terminology language code `%s' not defined"),
-              "LC_ADDRESS", address->lang_term);
+                               "LC_ADDRESS", address->lang_term));
     }
 
   if (address->lang_ab == NULL)
     {
       if (verbose && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"), "LC_ADDRESS", "lang_ab");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_ADDRESS", "lang_ab"));
       address->lang_ab = "";
     }
   else if (address->lang_ab[0] == '\0')
     {
       if (verbose)
-       error (0, 0, _("%s: field `%s' must not be empty"),
-              "LC_ADDRESS", "lang_ab");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"),
+                               "LC_ADDRESS", "lang_ab"));
     }
   else
     {
@@ -239,15 +242,15 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
            if (strcmp (address->lang_ab, iso639[cnt].ab) == 0)
              break;
          if (cnt == sizeof (iso639) / sizeof (iso639[0]))
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: language abbreviation `%s' not defined"),
-                  "LC_ADDRESS", address->lang_ab);
+                                   "LC_ADDRESS", address->lang_ab));
        }
       else
        if (strcmp (iso639[cnt].ab, address->lang_ab) != 0)
-         error (0, 0, _("\
+         WITH_CUR_LOCALE (error (0, 0, _("\
 %s: `%s' value does not match `%s' value"),
-                "LC_ADDRESS", "lang_ab", "lang_term");
+                                 "LC_ADDRESS", "lang_ab", "lang_term"));
     }
 
   if (address->lang_lib == NULL)
@@ -256,8 +259,8 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   else if (address->lang_lib[0] == '\0')
     {
       if (verbose)
-       error (0, 0, _("%s: field `%s' must not be empty"),
-              "LC_ADDRESS", "lang_lib");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"),
+                               "LC_ADDRESS", "lang_lib"));
     }
   else
     {
@@ -267,22 +270,22 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
            if (strcmp (address->lang_lib, iso639[cnt].lib) == 0)
              break;
          if (cnt == sizeof (iso639) / sizeof (iso639[0]))
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: language abbreviation `%s' not defined"),
-                  "LC_ADDRESS", address->lang_lib);
+                                   "LC_ADDRESS", address->lang_lib));
        }
       else
        if (strcmp (iso639[cnt].ab, address->lang_ab) != 0)
-         error (0, 0, _("\
+         WITH_CUR_LOCALE (error (0, 0, _("\
 %s: `%s' value does not match `%s' value"), "LC_ADDRESS", "lang_lib",
-                helper == 1 ? "lang_term" : "lang_ab");
+                                 helper == 1 ? "lang_term" : "lang_ab"));
     }
 
   if (address->country_num == 0)
     {
       if (verbose && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_ADDRESS", "country_num");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_ADDRESS", "country_num"));
       cnt = sizeof (iso3166) / sizeof (iso3166[0]);
     }
   else
@@ -292,34 +295,36 @@ address_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          break;
 
       if (cnt == sizeof (iso3166) / sizeof (iso3166[0]))
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: numeric country code `%d' not valid"),
-              "LC_ADDRESS", address->country_num);
+                               "LC_ADDRESS", address->country_num));
     }
 
   if (address->country_ab2 == NULL)
     {
       if (verbose && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_ADDRESS", "country_ab2");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_ADDRESS", "country_ab2"));
       address->country_ab2 = "  ";
     }
   else if (cnt != sizeof (iso3166) / sizeof (iso3166[0])
           && strcmp (address->country_ab2, iso3166[cnt].ab2) != 0)
-    error (0, 0, _("%s: `%s' value does not match `%s' value"),
-          "LC_ADDRESS", "country_ab2", "country_num");
+    WITH_CUR_LOCALE (error (0, 0,
+                           _("%s: `%s' value does not match `%s' value"),
+                           "LC_ADDRESS", "country_ab2", "country_num"));
 
   if (address->country_ab3 == NULL)
     {
       if (verbose && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_ADDRESS", "country_ab3");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_ADDRESS", "country_ab3"));
       address->country_ab3 = "   ";
     }
   else if (cnt != sizeof (iso3166) / sizeof (iso3166[0])
           && strcmp (address->country_ab3, iso3166[cnt].ab3) != 0)
-    error (0, 0, _("%s: `%s' value does not match `%s' value"),
-          "LC_ADDRESS", "country_ab3", "country_num");
+    WITH_CUR_LOCALE (error (0, 0, _("\
+%s: `%s' value does not match `%s' value"),
+                           "LC_ADDRESS", "country_ab3", "country_num"));
 }
 
 
index 0da1261..b9ea186 100644 (file)
 #include <wchar.h>
 #include <sys/param.h>
 
+#include "localedef.h"
 #include "charmap.h"
 #include "localeinfo.h"
 #include "linereader.h"
 #include "locfile.h"
-#include "localedef.h"
 #include "elem-hash.h"
 
 /* Uncomment the following line in the production version.  */
@@ -1516,7 +1516,8 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
     {
       /* No data, no check.  */
       if (! be_quiet)
-       error (0, 0, _("No definition for %s category found"), "LC_COLLATE");
+       WITH_CUR_LOCALE (error (0, 0, _("No definition for %s category found"),
+                               "LC_COLLATE"));
       return;
     }
 
@@ -1531,9 +1532,9 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          && ((sect->rules[i] & sort_position)
              != (collate->sections->rules[i] & sort_position)))
        {
-         error (0, 0, _("\
+         WITH_CUR_LOCALE (error (0, 0, _("\
 %s: `position' must be used for a specific level in all sections or none"),
-                "LC_COLLATE");
+                                 "LC_COLLATE"));
          break;
        }
 
@@ -1554,9 +1555,10 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                  {
                    if (runp->weights[i].w[j]->weights == NULL)
                      {
-                       error_at_line (0, 0, runp->file, runp->line,
-                                      _("symbol `%s' not defined"),
-                                      runp->weights[i].w[j]->name);
+                       WITH_CUR_LOCALE (error_at_line (0, 0, runp->file,
+                                                       runp->line,
+                                                       _("symbol `%s' not defined"),
+                                                       runp->weights[i].w[j]->name));
 
                        need_undefined = 1;
                        runp->weights[i].w[j] = &collate->undefined;
@@ -1629,11 +1631,14 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                      /* This should not happen.  It means that we have
                         to symbols with the same byte sequence.  It is
                         of course an error.  */
-                     error_at_line (0, 0, (*eptr)->file, (*eptr)->line,
-                                    _("symbol `%s' has the same encoding as"),
-                                    (*eptr)->name);
-                     error_at_line (0, 0, runp->file, runp->line,
-                                    _("symbol `%s'"), runp->name);
+                     WITH_CUR_LOCALE (error_at_line (0, 0, (*eptr)->file,
+                                                     (*eptr)->line,
+                                                     _("\
+symbol `%s' has the same encoding as"), (*eptr)->name);
+                                      error_at_line (0, 0, runp->file,
+                                                     runp->line,
+                                                     _("symbol `%s'"),
+                                                     runp->name));
                      goto dont_insert;
                    }
                  else if (c < 0)
@@ -1732,11 +1737,14 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                      /* This should not happen.  It means that we have
                         two symbols with the same byte sequence.  It is
                         of course an error.  */
-                     error_at_line (0, 0, (*eptr)->file, (*eptr)->line,
-                                    _("symbol `%s' has the same encoding as"),
-                                    (*eptr)->name);
-                     error_at_line (0, 0, runp->file, runp->line,
-                                    _("symbol `%s'"), runp->name);
+                     WITH_CUR_LOCALE (error_at_line (0, 0, (*eptr)->file,
+                                                     (*eptr)->line,
+                                                     _("\
+symbol `%s' has the same encoding as"), (*eptr)->name);
+                                      error_at_line (0, 0, runp->file,
+                                                     runp->line,
+                                                     _("symbol `%s'"),
+                                                     runp->name));
                      goto dont_insertwc;
                    }
                  else if (c < 0)
@@ -1777,7 +1785,7 @@ collate_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          /* This seems not to be enforced by recent standards.  Don't
             emit an error, simply append UNDEFINED at the end.  */
          if (0)
-           error (0, 0, _("no definition of `UNDEFINED'"));
+           WITH_CUR_LOCALE (error (0, 0, _("no definition of `UNDEFINED'")));
 
          /* Add UNDEFINED at the end.  */
          collate->undefined.mborder =
@@ -3389,8 +3397,8 @@ error while adding equivalent collating symbol"));
            }
          else if (state == 3)
            {
-             error (0, 0, _("%s: missing `reorder-end' keyword"),
-                    "LC_COLLATE");
+             WITH_CUR_LOCALE (error (0, 0, _("\
+%s: missing `reorder-end' keyword"), "LC_COLLATE"));
              state = 4;
            }
          else if (state != 2 && state != 4)
@@ -3739,11 +3747,11 @@ error while adding equivalent collating symbol"));
                    }
                }
              else if (state == 3)
-               error (0, 0, _("%s: missing `reorder-end' keyword"),
-                      "LC_COLLATE");
+               WITH_CUR_LOCALE (error (0, 0, _("\
+%s: missing `reorder-end' keyword"), "LC_COLLATE"));
              else if (state == 5)
-               error (0, 0, _("%s: missing `reorder-sections-end' keyword"),
-                      "LC_COLLATE");
+               WITH_CUR_LOCALE (error (0, 0, _("\
+%s: missing `reorder-sections-end' keyword"), "LC_COLLATE"));
            }
          arg = lr_token (ldfile, charmap, result, NULL, verbose);
          if (arg->tok == tok_eof)
index c1a92d8..1026133 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
 #include <wctype.h>
 #include <sys/uio.h>
 
+#include "localedef.h"
 #include "charmap.h"
 #include "localeinfo.h"
 #include "langinfo.h"
 #include "linereader.h"
 #include "locfile-token.h"
 #include "locfile.h"
-#include "localedef.h"
 
 #include <assert.h>
 
@@ -413,7 +413,8 @@ ctype_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (ctype == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"), "LC_CTYPE");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_CTYPE"));
          ctype_startup (NULL, locale, charmap, NULL, 0);
          ctype = locale->categories[LC_CTYPE].ctype;
        }
@@ -431,7 +432,8 @@ ctype_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (ctype->codeset_name == NULL)
     {
       if (! be_quiet)
-       error (0, 0, _("No character set name specified in charmap"));
+       WITH_CUR_LOCALE (error (0, 0, _("\
+No character set name specified in charmap")));
       ctype->codeset_name = "//UNKNOWN//";
     }
 
@@ -459,11 +461,12 @@ ctype_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                            uint32_t value = ctype->charnames[cnt];
 
                            if (!be_quiet)
-                             error (0, 0, _("\
+                             WITH_CUR_LOCALE (error (0, 0, _("\
 character L'\\u%0*x' in class `%s' must be in class `%s'"),
-                                    value > 0xffff ? 8 : 4, value,
-                                    valid_table[cls1].name,
-                                    valid_table[cls2].name);
+                                                     value > 0xffff ? 8 : 4,
+                                                     value,
+                                                     valid_table[cls1].name,
+                                                     valid_table[cls2].name));
                          }
                        break;
 
@@ -473,11 +476,12 @@ character L'\\u%0*x' in class `%s' must be in class `%s'"),
                            uint32_t value = ctype->charnames[cnt];
 
                            if (!be_quiet)
-                             error (0, 0, _("\
+                             WITH_CUR_LOCALE (error (0, 0, _("\
 character L'\\u%0*x' in class `%s' must not be in class `%s'"),
-                                    value > 0xffff ? 8 : 4, value,
-                                    valid_table[cls1].name,
-                                    valid_table[cls2].name);
+                                                     value > 0xffff ? 8 : 4,
+                                                     value,
+                                                     valid_table[cls1].name,
+                                                     valid_table[cls2].name));
                          }
                        break;
 
@@ -486,8 +490,8 @@ character L'\\u%0*x' in class `%s' must not be in class `%s'"),
                        break;
 
                      default:
-                       error (5, 0, _("internal error in %s, line %u"),
-                              __FUNCTION__, __LINE__);
+                       WITH_CUR_LOCALE (error (5, 0, _("\
+internal error in %s, line %u"), __FUNCTION__, __LINE__));
                      }
                  }
        }
@@ -515,10 +519,11 @@ character L'\\u%0*x' in class `%s' must not be in class `%s'"),
                            snprintf (buf, sizeof buf, "\\%Zo", cnt);
 
                            if (!be_quiet)
-                             error (0, 0, _("\
+                             WITH_CUR_LOCALE (error (0, 0, _("\
 character '%s' in class `%s' must be in class `%s'"),
-                                    buf, valid_table[cls1].name,
-                                    valid_table[cls2].name);
+                                                     buf,
+                                                     valid_table[cls1].name,
+                                                     valid_table[cls2].name));
                          }
                        break;
 
@@ -530,10 +535,11 @@ character '%s' in class `%s' must be in class `%s'"),
                            snprintf (buf, sizeof buf, "\\%Zo", cnt);
 
                            if (!be_quiet)
-                             error (0, 0, _("\
+                             WITH_CUR_LOCALE (error (0, 0, _("\
 character '%s' in class `%s' must not be in class `%s'"),
-                                    buf, valid_table[cls1].name,
-                                    valid_table[cls2].name);
+                                                     buf,
+                                                     valid_table[cls1].name,
+                                                     valid_table[cls2].name));
                          }
                        break;
 
@@ -542,8 +548,8 @@ character '%s' in class `%s' must not be in class `%s'"),
                        break;
 
                      default:
-                       error (5, 0, _("internal error in %s, line %u"),
-                              __FUNCTION__, __LINE__);
+                       WITH_CUR_LOCALE (error (5, 0, _("\
+internal error in %s, line %u"), __FUNCTION__, __LINE__));
                      }
                  }
        }
@@ -559,8 +565,8 @@ character '%s' in class `%s' must not be in class `%s'"),
            & BITw (tok_blank)) == 0)))
     {
       if (!be_quiet)
-       error (0, 0, _("<SP> character not in class `%s'"),
-              valid_table[cnt].name);
+       WITH_CUR_LOCALE (error (0, 0, _("<SP> character not in class `%s'"),
+                               valid_table[cnt].name));
     }
   else if (((cnt = BITPOS (tok_punct),
             (ELEM (ctype, class_collection, , space_value)
@@ -571,8 +577,9 @@ character '%s' in class `%s' must not be in class `%s'"),
                != 0)))
     {
       if (!be_quiet)
-       error (0, 0, _("<SP> character must not be in class `%s'"),
-              valid_table[cnt].name);
+       WITH_CUR_LOCALE (error (0, 0, _("\
+<SP> character must not be in class `%s'"),
+                               valid_table[cnt].name));
     }
   else
     ELEM (ctype, class_collection, , space_value) |= BITw (tok_print);
@@ -585,7 +592,8 @@ character '%s' in class `%s' must not be in class `%s'"),
   if (space_seq == NULL || space_seq->nbytes != 1)
     {
       if (!be_quiet)
-       error (0, 0, _("character <SP> not defined in character map"));
+       WITH_CUR_LOCALE (error (0, 0, _("\
+character <SP> not defined in character map")));
     }
   else if (((cnt = BITPOS (tok_space),
             (ctype->class256_collection[space_seq->bytes[0]]
@@ -595,8 +603,8 @@ character '%s' in class `%s' must not be in class `%s'"),
                 & BIT (tok_blank)) == 0)))
     {
       if (!be_quiet)
-       error (0, 0, _("<SP> character not in class `%s'"),
-              valid_table[cnt].name);
+       WITH_CUR_LOCALE (error (0, 0, _("<SP> character not in class `%s'"),
+                               valid_table[cnt].name));
     }
   else if (((cnt = BITPOS (tok_punct),
             (ctype->class256_collection[space_seq->bytes[0]]
@@ -606,8 +614,9 @@ character '%s' in class `%s' must not be in class `%s'"),
                 & BIT (tok_graph)) != 0)))
     {
       if (!be_quiet)
-       error (0, 0, _("<SP> character must not be in class `%s'"),
-              valid_table[cnt].name);
+       WITH_CUR_LOCALE (error (0, 0, _("\
+<SP> character must not be in class `%s'"),
+                               valid_table[cnt].name));
     }
   else
     ctype->class256_collection[space_seq->bytes[0]] |= BIT (tok_print);
@@ -697,7 +706,8 @@ character '%s' in class `%s' must not be in class `%s'"),
       assert (ctype->mbdigits_act == ctype->wcdigits_act);
       ctype->wcdigits_act -= ctype->mbdigits_act % 10;
       ctype->mbdigits_act -= ctype->mbdigits_act % 10;
-      error (0, 0, _("`digit' category has not entries in groups of ten"));
+      WITH_CUR_LOCALE (error (0, 0, _("\
+`digit' category has not entries in groups of ten")));
     }
 
   /* Check the input digits.  There must be a multiple of ten available.
@@ -745,8 +755,8 @@ character '%s' in class `%s' must not be in class `%s'"),
              if (ctype->mbdigits[cnt] == NULL)
                {
                  /* Hum, this ain't good.  */
-                 error (0, 0, _("\
-no input digits defined and none of the standard names in the charmap"));
+                 WITH_CUR_LOCALE (error (0, 0, _("\
+no input digits defined and none of the standard names in the charmap")));
 
                  ctype->mbdigits[cnt] = obstack_alloc (&((struct charmap_t *) charmap)->mem_pool,
                                                        sizeof (struct charseq) + 1);
@@ -810,8 +820,8 @@ no input digits defined and none of the standard names in the charmap"));
 
        if (!warned)
          {
-           error (0, 0, _("\
-not all characters used in `outdigit' are available in the charmap"));
+           WITH_CUR_LOCALE (error (0, 0, _("\
+not all characters used in `outdigit' are available in the charmap")));
            warned = 1;
          }
 
@@ -827,8 +837,8 @@ not all characters used in `outdigit' are available in the charmap"));
       {
        if (!warned)
          {
-           error (0, 0, _("\
-not all characters used in `outdigit' are available in the repertoire"));
+           WITH_CUR_LOCALE (error (0, 0, _("\
+not all characters used in `outdigit' are available in the repertoire")));
            warned = 1;
          }
 
@@ -1227,9 +1237,9 @@ ctype_class_new (struct linereader *lr, struct locale_ctype_t *ctype,
 
   if (ctype->nr_charclass == MAX_NR_CHARCLASS)
     /* Exit code 2 is prescribed in P1003.2b.  */
-    error (2, 0, _("\
+    WITH_CUR_LOCALE (error (2, 0, _("\
 implementation limit: no more than %Zd character classes allowed"),
-          MAX_NR_CHARCLASS);
+                           MAX_NR_CHARCLASS));
 
   ctype->classnames[ctype->nr_charclass++] = name;
 }
@@ -1259,9 +1269,9 @@ ctype_map_new (struct linereader *lr, struct locale_ctype_t *ctype,
 
   if (ctype->map_collection_nr == MAX_NR_CHARMAP)
     /* Exit code 2 is prescribed in P1003.2b.  */
-    error (2, 0, _("\
+    WITH_CUR_LOCALE (error (2, 0, _("\
 implementation limit: no more than %d character maps allowed"),
-          MAX_NR_CHARMAP);
+                           MAX_NR_CHARMAP));
 
   ctype->mapnames[cnt] = name;
 
@@ -2824,10 +2834,11 @@ with character code range values one must use the absolute ellipsis `...'"));
                            {
                              lr_error (ldfile, _("\
 %s: duplicate `default_missing' definition"), "LC_CTYPE");
-                             error_at_line (0, 0, ctype->default_missing_file,
-                                            ctype->default_missing_lineno,
-                                            _("\
-previous definition was here"));
+                             WITH_CUR_LOCALE (error_at_line (0, 0,
+                                                             ctype->default_missing_file,
+                                                             ctype->default_missing_lineno,
+                                                             _("\
+previous definition was here")));
                            }
                          else
                            {
@@ -3001,14 +3012,14 @@ set_class_defaults (struct locale_ctype_t *ctype,
          if (seq == NULL)
            {
              if (!be_quiet)
-               error (0, 0, _("\
+               WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined in charmap while needed as default value"),
-                      "LC_CTYPE", tmp);
+                                       "LC_CTYPE", tmp));
            }
          else if (seq->nbytes != 1)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-                  "LC_CTYPE", tmp);
+                                   "LC_CTYPE", tmp));
          else
            ctype->class256_collection[seq->bytes[0]] |= bit;
 
@@ -3085,14 +3096,14 @@ set_class_defaults (struct locale_ctype_t *ctype,
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<space>");
+                                   "LC_CTYPE", "<space>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<space>");
+                               "LC_CTYPE", "<space>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_space);
 
@@ -3105,14 +3116,14 @@ set_class_defaults (struct locale_ctype_t *ctype,
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<form-feed>");
+                                   "LC_CTYPE", "<form-feed>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<form-feed>");
+                               "LC_CTYPE", "<form-feed>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_space);
 
@@ -3126,14 +3137,14 @@ set_class_defaults (struct locale_ctype_t *ctype,
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 character `%s' not defined while needed as default value"),
-                  "<newline>");
+                                   "<newline>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<newline>");
+                               "LC_CTYPE", "<newline>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_space);
 
@@ -3147,14 +3158,14 @@ character `%s' not defined while needed as default value"),
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<carriage-return>");
+                                   "LC_CTYPE", "<carriage-return>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<carriage-return>");
+                               "LC_CTYPE", "<carriage-return>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_space);
 
@@ -3168,14 +3179,14 @@ character `%s' not defined while needed as default value"),
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<tab>");
+                                   "LC_CTYPE", "<tab>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<tab>");
+                               "LC_CTYPE", "<tab>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_space);
 
@@ -3189,14 +3200,14 @@ character `%s' not defined while needed as default value"),
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<vertical-tab>");
+                                   "LC_CTYPE", "<vertical-tab>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<vertical-tab>");
+                               "LC_CTYPE", "<vertical-tab>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_space);
 
@@ -3229,14 +3240,14 @@ character `%s' not defined while needed as default value"),
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<space>");
+                                   "LC_CTYPE", "<space>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<space>");
+                               "LC_CTYPE", "<space>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_blank);
 
@@ -3250,14 +3261,14 @@ character `%s' not defined while needed as default value"),
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<tab>");
+                                   "LC_CTYPE", "<tab>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<tab>");
+                               "LC_CTYPE", "<tab>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_blank);
 
@@ -3317,14 +3328,14 @@ character `%s' not defined while needed as default value"),
       if (seq == NULL)
        {
          if (!be_quiet)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                  "LC_CTYPE", "<space>");
+                                   "LC_CTYPE", "<space>"));
        }
       else if (seq->nbytes != 1)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' in charmap not representable with one byte"),
-              "LC_CTYPE", "<space>");
+                               "LC_CTYPE", "<space>"));
       else
        ctype->class256_collection[seq->bytes[0]] |= BIT (tok_print);
 
@@ -3359,16 +3370,16 @@ character `%s' not defined while needed as default value"),
          if (seq_from == NULL)
            {
              if (!be_quiet)
-               error (0, 0, _("\
+               WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                      "LC_CTYPE", tmp);
+                                       "LC_CTYPE", tmp));
            }
          else if (seq_from->nbytes != 1)
            {
              if (!be_quiet)
-               error (0, 0, _("\
+               WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' needed as default value not representable with one byte"),
-                      "LC_CTYPE", tmp);
+                                       "LC_CTYPE", tmp));
            }
          else
            {
@@ -3384,16 +3395,16 @@ character `%s' not defined while needed as default value"),
              if (seq_to == NULL)
                {
                  if (!be_quiet)
-                   error (0, 0, _("\
+                   WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' not defined while needed as default value"),
-                          "LC_CTYPE", tmp);
+                                           "LC_CTYPE", tmp));
                }
              else if (seq_to->nbytes != 1)
                {
                  if (!be_quiet)
-                   error (0, 0, _("\
+                   WITH_CUR_LOCALE (error (0, 0, _("\
 %s: character `%s' needed as default value not representable with one byte"),
-                          "LC_CTYPE", tmp);
+                                           "LC_CTYPE", tmp));
                }
              else
                /* The index [0] is determined by the order of the
@@ -3425,8 +3436,9 @@ character `%s' not defined while needed as default value"),
   if (ctype->outdigits_act != 10)
     {
       if (ctype->outdigits_act != 0)
-       error (0,0, _("%s: field `%s' does not contain exactly ten entries"),
-              "LC_CTYPE", "outdigit");
+       WITH_CUR_LOCALE (error (0, 0, _("\
+%s: field `%s' does not contain exactly ten entries"),
+                               "LC_CTYPE", "outdigit"));
 
       for (cnt = ctype->outdigits_act; cnt < 10; ++cnt)
        {
@@ -3445,8 +3457,8 @@ character `%s' not defined while needed as default value"),
          if (ctype->mboutdigits[cnt] == NULL)
            {
              /* Provide a replacement.  */
-             error (0, 0, _("\
-no output digits defined and none of the standard names in the charmap"));
+             WITH_CUR_LOCALE (error (0, 0, _("\
+no output digits defined and none of the standard names in the charmap")));
 
              ctype->mboutdigits[cnt] = obstack_alloc (&((struct charmap_t *) charmap)->mem_pool,
                                                       sizeof (struct charseq)
@@ -3736,9 +3748,9 @@ translit_flatten (struct locale_ctype_t *ctype,
 
       if (other == NULL)
        {
-         error (0, 0, _("\
+         WITH_CUR_LOCALE (error (0, 0, _("\
 %s: transliteration data from locale `%s' not available"),
-                "LC_CTYPE", copy_locale);
+                                 "LC_CTYPE", copy_locale));
        }
       else
        {
@@ -3832,9 +3844,10 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
       wctype_table_finalize (&t);
 
       if (verbose)
-       fprintf (stderr, _("%s: table for class \"%s\": %lu bytes\n"),
-                "LC_CTYPE", ctype->classnames[nr],
-                (unsigned long int) t.result_size);
+       WITH_CUR_LOCALE (fprintf (stderr, _("\
+%s: table for class \"%s\": %lu bytes\n"),
+                                "LC_CTYPE", ctype->classnames[nr],
+                                (unsigned long int) t.result_size));
 
       ctype->class_3level[nr].iov_base = t.result;
       ctype->class_3level[nr].iov_len = t.result_size;
@@ -3900,9 +3913,10 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
       wctrans_table_finalize (&t);
 
       if (verbose)
-       fprintf (stderr, _("%s: table for map \"%s\": %lu bytes\n"),
-                "LC_CTYPE", ctype->mapnames[nr],
-                (unsigned long int) t.result_size);
+       WITH_CUR_LOCALE (fprintf (stderr, _("\
+%s: table for map \"%s\": %lu bytes\n"),
+                                "LC_CTYPE", ctype->mapnames[nr],
+                                (unsigned long int) t.result_size));
 
       ctype->map_3level[nr].iov_base = t.result;
       ctype->map_3level[nr].iov_len = t.result_size;
@@ -4032,8 +4046,8 @@ allocate_arrays (struct locale_ctype_t *ctype, const struct charmap_t *charmap,
     wcwidth_table_finalize (&t);
 
     if (verbose)
-      fprintf (stderr, _("%s: table for width: %lu bytes\n"),
-              "LC_CTYPE", (unsigned long int) t.result_size);
+      WITH_CUR_LOCALE (fprintf (stderr, _("%s: table for width: %lu bytes\n"),
+                              "LC_CTYPE", (unsigned long int) t.result_size));
 
     ctype->width.iov_base = t.result;
     ctype->width.iov_len = t.result_size;
index 74420fc..481e4e7 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -29,6 +29,7 @@
 
 #include <assert.h>
 
+#include "localedef.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -130,8 +131,8 @@ identification_finish (struct localedef_t *locale,
       if (identification == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"),
-                  "LC_IDENTIFICATION");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_IDENTIFICATION"));
          identification_startup (NULL, locale, 0);
          identification
            = locale->categories[LC_IDENTIFICATION].identification;
@@ -143,8 +144,8 @@ identification_finish (struct localedef_t *locale,
   if (identification->cat == NULL)                                           \
     {                                                                        \
       if (verbose && ! nothing)                                                      \
-       error (0, 0, _("%s: field `%s' not defined"),                         \
-              "LC_IDENTIFICATION", #cat);                                    \
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),        \
+                               "LC_IDENTIFICATION", #cat));                  \
       identification->cat = "";                                                      \
     }
 
@@ -167,8 +168,9 @@ identification_finish (struct localedef_t *locale,
     if (num != LC_ALL && identification->category[num] == NULL)
       {
        if (verbose && ! nothing)
-         error (0, 0, _("%s: no identification for category `%s'"),
-                "LC_IDENTIFICATION", category_name[num]);
+         WITH_CUR_LOCALE (error (0, 0, _("\
+%s: no identification for category `%s'"),
+                                 "LC_IDENTIFICATION", category_name[num]));
        identification->category[num] = "";
       }
 }
index f0b960d..75219bd 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -28,6 +28,7 @@
 
 #include <assert.h>
 
+#include "localedef.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -91,8 +92,8 @@ measurement_finish (struct localedef_t *locale,
       if (measurement == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"),
-                  "LC_MEASUREMENT");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_MEASUREMENT"));
          measurement_startup (NULL, locale, 0);
          measurement = locale->categories[LC_MEASUREMENT].measurement;
          nothing = 1;
@@ -102,16 +103,16 @@ measurement_finish (struct localedef_t *locale,
   if (measurement->measurement == 0)
     {
       if (! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_MEASUREMENT", "measurement");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_MEASUREMENT", "measurement"));
       /* Use as the default value the value of the i18n locale.  */
       measurement->measurement = 1;
     }
   else
     {
       if (measurement->measurement > 3)
-       error (0, 0, _("%s: invalid value for field `%s'"),
-              "LC_MEASUREMENT", "measurement");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: invalid value for field `%s'"),
+                               "LC_MEASUREMENT", "measurement"));
     }
 }
 
index b005cb5..fadf827 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -29,8 +29,8 @@
 
 #include <assert.h>
 
-#include "linereader.h"
 #include "localedef.h"
+#include "linereader.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -95,8 +95,8 @@ messages_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (messages == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"),
-                  "LC_MESSAGES");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_MESSAGES"));
          messages_startup (NULL, locale, 0);
          messages = locale->categories[LC_MESSAGES].messages;
          nothing = 1;
@@ -112,15 +112,16 @@ messages_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (messages->yesexpr == NULL)
     {
       if (! be_quiet && ! nothing)
-       error (0, 0, _("%s: field `%s' undefined"), "LC_MESSAGES", "yesexpr");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' undefined"),
+                               "LC_MESSAGES", "yesexpr"));
       messages->yesexpr = "^[yY]";
     }
   else if (messages->yesexpr[0] == '\0')
     {
       if (!be_quiet)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value for field `%s' must not be an empty string"),
-              "LC_MESSAGES", "yesexpr");
+                               "LC_MESSAGES", "yesexpr"));
     }
   else
     {
@@ -134,9 +135,9 @@ messages_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          char errbuf[BUFSIZ];
 
          (void) regerror (result, &re, errbuf, BUFSIZ);
-         error (0, 0, _("\
+         WITH_CUR_LOCALE (error (0, 0, _("\
 %s: no correct regular expression for field `%s': %s"),
-                "LC_MESSAGES", "yesexpr", errbuf);
+                                 "LC_MESSAGES", "yesexpr", errbuf));
        }
       else if (result != 0)
        regfree (&re);
@@ -145,15 +146,16 @@ messages_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (messages->noexpr == NULL)
     {
       if (! be_quiet && ! nothing)
-       error (0, 0, _("%s: field `%s' undefined"), "LC_MESSAGES", "noexpr");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' undefined"),
+                               "LC_MESSAGES", "noexpr"));
       messages->noexpr = "^[nN]";
     }
   else if (messages->noexpr[0] == '\0')
     {
       if (!be_quiet)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value for field `%s' must not be an empty string"),
-              "LC_MESSAGES", "noexpr");
+                               "LC_MESSAGES", "noexpr"));
     }
   else
     {
@@ -167,9 +169,9 @@ messages_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          char errbuf[BUFSIZ];
 
          (void) regerror (result, &re, errbuf, BUFSIZ);
-         error (0, 0, _("\
+         WITH_CUR_LOCALE (error (0, 0, _("\
 %s: no correct regular expression for field `%s': %s"),
-                "LC_MESSAGES", "noexpr", errbuf);
+                                 "LC_MESSAGES", "noexpr", errbuf));
        }
       else if (result != 0)
        regfree (&re);
index 0cd9579..4bb7c0b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -30,8 +30,8 @@
 
 #include <assert.h>
 
-#include "linereader.h"
 #include "localedef.h"
+#include "linereader.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -191,8 +191,8 @@ monetary_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (monetary == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"),
-                  "LC_MONETARY");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_MONETARY"));
          monetary_startup (NULL, locale, 0);
          monetary = locale->categories[LC_MONETARY].monetary;
          nothing = 1;
@@ -203,8 +203,8 @@ monetary_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (monetary->cat == NULL)                                                 \
     {                                                                        \
       if (! be_quiet && ! nothing)                                           \
-       error (0, 0, _("%s: field `%s' not defined"),                         \
-              "LC_MONETARY", #cat);                                          \
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),        \
+                               "LC_MONETARY", #cat));                        \
       monetary->cat = initval;                                               \
     }
 
@@ -221,18 +221,18 @@ monetary_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (strlen (monetary->int_curr_symbol) != 4)
        {
          if (! be_quiet && ! nothing)
-           error (0, 0, _("\
+           WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value of field `int_curr_symbol' has wrong length"),
-                  "LC_MONETARY");
+                                   "LC_MONETARY"));
        }
       else if (bsearch (monetary->int_curr_symbol, valid_int_curr,
                        NR_VALID_INT_CURR, sizeof (const char *),
                        (comparison_fn_t) curr_strcmp) == NULL
               && !be_quiet)
-       error (0, 0, _("\
+       WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value of field `int_curr_symbol' does \
 not correspond to a valid name in ISO 4217"),
-              "LC_MONETARY");
+                               "LC_MONETARY"));
     }
 
   /* The decimal point must not be empty.  This is not said explicitly
@@ -241,15 +241,15 @@ not correspond to a valid name in ISO 4217"),
   if (monetary->mon_decimal_point == NULL)
     {
       if (! be_quiet && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_MONETARY", "mon_decimal_point");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_MONETARY", "mon_decimal_point"));
       monetary->mon_decimal_point = ".";
     }
   else if (monetary->mon_decimal_point[0] == '\0' && ! be_quiet && ! nothing)
     {
-      error (0, 0, _("\
+      WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value for field `%s' must not be the empty string"),
-            "LC_MONETARY", "mon_decimal_point");
+                             "LC_MONETARY", "mon_decimal_point"));
     }
   if (monetary->mon_decimal_point_wc == L'\0')
     monetary->mon_decimal_point_wc = L'.';
@@ -257,8 +257,8 @@ not correspond to a valid name in ISO 4217"),
   if (monetary->mon_grouping_len == 0)
     {
       if (! be_quiet && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_MONETARY", "mon_grouping");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_MONETARY", "mon_grouping"));
 
       monetary->mon_grouping = (char *) "\177";
       monetary->mon_grouping_len = 1;
@@ -269,15 +269,15 @@ not correspond to a valid name in ISO 4217"),
   if (monetary->cat == -2)                                                   \
     {                                                                        \
        if (! be_quiet && ! nothing)                                          \
-        error (0, 0, _("%s: field `%s' not defined"),                        \
-               "LC_MONETARY", #cat);                                         \
+        WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),       \
+                                "LC_MONETARY", #cat));                       \
        monetary->cat = initval;                                                      \
     }                                                                        \
   else if ((monetary->cat < min || monetary->cat > max)                              \
           && !be_quiet && !nothing)                                          \
-    error (0, 0, _("                                                         \
+    WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value for field `%s' must be in range %d...%d"),                         \
-          "LC_MONETARY", #cat, min, max)
+                           "LC_MONETARY", #cat, min, max))
 
   TEST_ELEM (int_frac_digits, -128, 127, -1);
   TEST_ELEM (frac_digits, -128, 127, -1);
@@ -305,9 +305,9 @@ not correspond to a valid name in ISO 4217"),
     monetary->cat = monetary->alt;                                           \
   else if ((monetary->cat < min || monetary->cat > max) && !be_quiet         \
           && ! nothing)                                                      \
-    error (0, 0, _("\
+    WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value for field `%s' must be in range %d...%d"),                         \
-          "LC_MONETARY", #cat, min, max)
+                           "LC_MONETARY", #cat, min, max))
 
   TEST_ELEM (int_p_cs_precedes, p_cs_precedes, -1, 1);
   TEST_ELEM (int_p_sep_by_space, p_sep_by_space, -1, 2);
index a838b6e..11e0ace 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -27,6 +27,7 @@
 
 #include <assert.h>
 
+#include "localedef.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -91,7 +92,8 @@ name_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (name == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"), "LC_NAME");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_NAME"));
          name_startup (NULL, locale, 0);
          name = locale->categories[LC_NAME].name;
          nothing = 1;
@@ -101,7 +103,8 @@ name_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (name->name_fmt == NULL)
     {
       if (! nothing)
-       error (0, 0, _("%s: field `%s' not defined"), "LC_NAME", "name_fmt");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_NAME", "name_fmt"));
       /* Use as the default value the value of the i18n locale.  */
       name->name_fmt = "%p%t%g%t%m%t%f";
     }
@@ -112,8 +115,8 @@ name_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       const char *cp = name->name_fmt;
 
       if (*cp == '\0')
-       error (0, 0, _("%s: field `%s' must not be empty"),
-              "LC_NAME", "name_fmt");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"),
+                               "LC_NAME", "name_fmt"));
       else
        while (*cp != '\0')
          {
@@ -124,9 +127,8 @@ name_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                  ++cp;
                if (strchr ("dfFgGlomMpsSt", *cp) == NULL)
                  {
-                   error (0, 0, _("\
-%s: invalid escape sequence in field `%s'"),
-                          "LC_NAME", "name_fmt");
+                   WITH_CUR_LOCALE (error (0, 0, _("\
+%s: invalid escape sequence in field `%s'"), "LC_NAME", "name_fmt"));
                    break;
                  }
              }
@@ -138,7 +140,8 @@ name_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (name->cat == NULL)                                                     \
     {                                                                        \
       if (verbose && ! nothing)                                                      \
-       error (0, 0, _("%s: field `%s' not defined"), "LC_NAME", #cat);       \
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),        \
+                               "LC_NAME", #cat));                            \
       name->cat = "";                                                        \
     }
 
index c0be827..6e385f2 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -27,8 +27,8 @@
 
 #include <assert.h>
 
-#include "linereader.h"
 #include "localedef.h"
+#include "linereader.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -96,8 +96,8 @@ numeric_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (numeric == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"),
-                  "LC_NUMERIC");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_NUMERIC"));
          numeric_startup (NULL, locale, 0);
          numeric = locale->categories[LC_NUMERIC].numeric;
          nothing = 1;
@@ -110,21 +110,22 @@ numeric_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (numeric->decimal_point == NULL)
     {
       if (! be_quiet && ! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_NUMERIC", "decimal_point");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_NUMERIC", "decimal_point"));
       numeric->decimal_point = ".";
     }
   else if (numeric->decimal_point[0] == '\0' && ! be_quiet && ! nothing)
     {
-      error (0, 0, _("\
+      WITH_CUR_LOCALE (error (0, 0, _("\
 %s: value for field `%s' must not be the empty string"),
-            "LC_NUMERIC", "decimal_point");
+                             "LC_NUMERIC", "decimal_point"));
     }
   if (numeric->decimal_point_wc == L'\0')
     numeric->decimal_point_wc = L'.';
 
   if (numeric->grouping_len == 0 && ! be_quiet && ! nothing)
-    error (0, 0, _("%s: field `%s' not defined"), "LC_NUMERIC", "grouping");
+    WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                           "LC_NUMERIC", "grouping"));
 }
 
 
index 334d405..2dce9ca 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -28,6 +28,7 @@
 
 #include <assert.h>
 
+#include "localedef.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -88,7 +89,8 @@ paper_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (paper == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"), "LC_PAPER");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_PAPER"));
          paper_startup (NULL, locale, 0);
          paper = locale->categories[LC_PAPER].paper;
          nothing = 1;
@@ -98,7 +100,8 @@ paper_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (paper->height == 0)
     {
       if (! nothing)
-       error (0, 0, _("%s: field `%s' not defined"), "LC_PAPER", "height");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_PAPER", "height"));
       /* Use as default values the values from the i18n locale.  */
       paper->height = 297;
     }
@@ -106,7 +109,8 @@ paper_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (paper->width == 0)
     {
       if (! nothing)
-       error (0, 0, _("%s: field `%s' not defined"), "LC_PAPER", "width");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_PAPER", "width"));
       /* Use as default values the values from the i18n locale.  */
       paper->width = 210;
     }
index a66b48d..01dcf36 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
@@ -28,6 +28,7 @@
 
 #include <assert.h>
 
+#include "localedef.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -91,8 +92,8 @@ telephone_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (telephone == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"),
-                  "LC_TELEPHONE");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_TELEPHONE"));
          telephone_startup (NULL, locale, 0);
          telephone = locale->categories[LC_TELEPHONE].telephone;
          nothing = 1;
@@ -102,8 +103,8 @@ telephone_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (telephone->tel_int_fmt == NULL)
     {
       if (! nothing)
-       error (0, 0, _("%s: field `%s' not defined"),
-              "LC_TELEPHONE", "tel_int_fmt");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),
+                               "LC_TELEPHONE", "tel_int_fmt"));
       /* Use as the default value the value of the i18n locale.  */
       telephone->tel_int_fmt = "+%c %a %l";
     }
@@ -114,8 +115,8 @@ telephone_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       const char *cp = telephone->tel_int_fmt;
 
       if (*cp == '\0')
-       error (0, 0, _("%s: field `%s' must not be empty"),
-              "LC_TELEPHONE", "tel_int_fmt");
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' must not be empty"),
+                               "LC_TELEPHONE", "tel_int_fmt"));
       else
        while (*cp != '\0')
          {
@@ -123,9 +124,8 @@ telephone_finish (struct localedef_t *locale, const struct charmap_t *charmap)
              {
                if (strchr ("aAlc", *++cp) == NULL)
                  {
-                   error (0, 0, _("\
-%s: invalid escape sequence in field `%s'"),
-                          "LC_TELEPHONE", "tel_int_fmt");
+                   WITH_CUR_LOCALE (error (0, 0, _("\
+%s: invalid escape sequence in field `%s'"), "LC_TELEPHONE", "tel_int_fmt"));
                    break;
                  }
              }
@@ -147,8 +147,8 @@ telephone_finish (struct localedef_t *locale, const struct charmap_t *charmap)
            {
              if (strchr ("aAlc", *++cp) == NULL)
                {
-                 error (0, 0, _("%s: invalid escape sequence in field `%s'"),
-                        "LC_TELEPHONE", "tel_dom_fmt");
+                 WITH_CUR_LOCALE (error (0, 0, _("\
+%s: invalid escape sequence in field `%s'"), "LC_TELEPHONE", "tel_dom_fmt"));
                  break;
                }
            }
@@ -160,7 +160,8 @@ telephone_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (telephone->cat == NULL)                                                \
     {                                                                        \
       if (verbose && ! nothing)                                                      \
-       error (0, 0, _("%s: field `%s' not defined"), "LC_TELEPHONE", #cat);  \
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),        \
+                               "LC_TELEPHONE", #cat));                       \
       telephone->cat = "";                                                   \
     }
 
index 5883d4c..32d9dad 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1995.
 
@@ -30,8 +30,8 @@
 
 #include <assert.h>
 
-#include "linereader.h"
 #include "localedef.h"
+#include "linereader.h"
 #include "localeinfo.h"
 #include "locfile.h"
 
@@ -157,7 +157,8 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       if (time == NULL)
        {
          if (! be_quiet)
-           error (0, 0, _("No definition for %s category found"), "LC_TIME");
+           WITH_CUR_LOCALE (error (0, 0, _("\
+No definition for %s category found"), "LC_TIME"));
          time_startup (NULL, locale, 0);
          time = locale->categories[LC_TIME].time;
          nothing = 1;
@@ -172,7 +173,8 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
       int i;                                                                 \
                                                                              \
       if (! be_quiet && ! nothing)                                           \
-       error (0, 0, _("%s: field `%s' not defined"), "LC_TIME", #cat);       \
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),        \
+                               "LC_TIME", #cat));                            \
                                                                              \
       for (i = 0; i < sizeof (initval) / sizeof (initval[0]); ++i)           \
        time->cat[i] = initval[i];                                            \
@@ -192,7 +194,8 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
   if (time->cat == NULL)                                                     \
     {                                                                        \
       if (! be_quiet && ! nothing)                                           \
-       error (0, 0, _("%s: field `%s' not defined"), "LC_TIME", #cat);       \
+       WITH_CUR_LOCALE (error (0, 0, _("%s: field `%s' not defined"),        \
+                               "LC_TIME", #cat));                            \
                                                                              \
       time->cat = initval;                                                   \
     }
@@ -242,10 +245,9 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          if (*str != '+' && *str != '-')
            {
              if (!be_quiet)
-               error (0, 0,
-                      _("%s: direction flag in string %Zd in `era' field"
-                        " is not '+' nor '-'"),
-                      "LC_TIME", idx + 1);
+               WITH_CUR_LOCALE (error (0, 0, _("\
+%s: direction flag in string %Zd in `era' field is not '+' nor '-'"),
+                                       "LC_TIME", idx + 1));
              /* Default arbitrarily to '+'.  */
              time->era_entries[idx].direction = '+';
            }
@@ -254,10 +256,9 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          if (*++str != ':')
            {
              if (!be_quiet)
-               error (0, 0,
-                      _("%s: direction flag in string %Zd in `era' field"
-                        " is not a single character"),
-                      "LC_TIME", idx + 1);
+               WITH_CUR_LOCALE (error (0, 0, _("\
+%s: direction flag in string %Zd in `era' field is not a single character"),
+                                       "LC_TIME", idx + 1));
              (void) strsep (&str, ":");
            }
          else
@@ -268,17 +269,17 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
          if (endp == str)
            {
              if (!be_quiet)
-               error (0, 0, _("%s: invalid number for offset in string %Zd in"
-                              " `era' field"),
-                      "LC_TIME", idx + 1);
+               WITH_CUR_LOCALE (error (0, 0, _("\
+%s: invalid number for offset in string %Zd in `era' field"),
+                                       "LC_TIME", idx + 1));
              (void) strsep (&str, ":");
            }
          else if (*endp != ':')
            {
              if (!be_quiet)
-               error (0, 0, _("%s: garbage at end of offset value in"
-                              " string %Zd in `era' field"),
-                      "LC_TIME", idx + 1);
+               WITH_CUR_LOCALE (error (0, 0, _("\
+%s: garbage at end of offset value in string %Zd in `era' field"),
+                                       "LC_TIME", idx + 1));
              (void) strsep (&str, ":");
            }
          else
@@ -327,18 +328,18 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                {
                invalid_start_date:
                  if (!be_quiet)
-                   error (0, 0, _("%s: invalid starting date in string %Zd in"
-                                  " `era' field"),
-                          "LC_TIME", idx + 1);
+                   WITH_CUR_LOCALE (error (0, 0, _("\
+%s: invalid starting date in string %Zd in `era' field"),
+                                           "LC_TIME", idx + 1));
                  (void) strsep (&str, ":");
                }
              else if (*endp != ':')
                {
                garbage_start_date:
                  if (!be_quiet)
-                   error (0, 0, _("%s: garbage at end of starting date "
-                                  "in string %Zd in `era' field "),
-                          "LC_TIME", idx + 1);
+                   WITH_CUR_LOCALE (error (0, 0, _("\
+%s: garbage at end of starting date in string %Zd in `era' field "),
+                                           "LC_TIME", idx + 1));
                  (void) strsep (&str, ":");
                }
              else
@@ -355,9 +356,9 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                           && time->era_entries[idx].start_date[2] == 29
                           && !__isleap (time->era_entries[idx].start_date[0])))
                      && !be_quiet)
-                         error (0, 0, _("%s: starting date is invalid in"
-                                        " string %Zd in `era' field"),
-                                "LC_TIME", idx + 1);
+                         WITH_CUR_LOCALE (error (0, 0, _("\
+%s: starting date is invalid in string %Zd in `era' field"),
+                                                 "LC_TIME", idx + 1));
                }
            }
 
@@ -404,18 +405,18 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                {
                invalid_stop_date:
                  if (!be_quiet)
-                   error (0, 0, _("%s: invalid stopping date in string %Zd in"
-                                  " `era' field"),
-                          "LC_TIME", idx + 1);
+                   WITH_CUR_LOCALE (error (0, 0, _("\
+%s: invalid stopping date in string %Zd in `era' field"),
+                                           "LC_TIME", idx + 1));
                  (void) strsep (&str, ":");
                }
              else if (*endp != ':')
                {
                garbage_stop_date:
                  if (!be_quiet)
-                   error (0, 0, _("%s: garbage at end of stopping date "
-                                  "in string %Zd in `era' field"),
-                          "LC_TIME", idx + 1);
+                   WITH_CUR_LOCALE (error (0, 0, _("\
+%s: garbage at end of stopping date in string %Zd in `era' field"),
+                                           "LC_TIME", idx + 1));
                  (void) strsep (&str, ":");
                }
              else
@@ -432,17 +433,17 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
                           && time->era_entries[idx].stop_date[2] == 29
                           && !__isleap (time->era_entries[idx].stop_date[0])))
                      && !be_quiet)
-                         error (0, 0, _("%s: stopping date is invalid in"
-                                        " string %Zd in `era' field"),
-                                "LC_TIME", idx + 1);
+                         WITH_CUR_LOCALE (error (0, 0, _("\
+%s: stopping date is invalid in string %Zd in `era' field"),
+                                                 "LC_TIME", idx + 1));
                }
            }
 
          if (str == NULL || *str == '\0')
            {
              if (!be_quiet)
-               error (0, 0, _("%s: missing era name in string %Zd in `era'"
-                              " field"), "LC_TIME", idx + 1);
+               WITH_CUR_LOCALE (error (0, 0, _("\
+%s: missing era name in string %Zd in `era' field"), "LC_TIME", idx + 1));
              time->era_entries[idx].name =
                time->era_entries[idx].format = "";
            }
@@ -453,9 +454,9 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
              if (str == NULL || *str == '\0')
                {
                  if (!be_quiet)
-                   error (0, 0, _("%s: missing era format in string %Zd"
-                                  " in `era' field"),
-                          "LC_TIME", idx + 1);
+                   WITH_CUR_LOCALE (error (0, 0, _("\
+%s: missing era format in string %Zd in `era' field"),
+                                           "LC_TIME", idx + 1));
                  time->era_entries[idx].name =
                    time->era_entries[idx].format = "";
                }
@@ -482,33 +483,33 @@ time_finish (struct localedef_t *locale, const struct charmap_t *charmap)
     time->week_1stday = 19971130;
 
   if (time->week_1stweek > time->week_ndays)
-    error (0, 0, _("\
+    WITH_CUR_LOCALE (error (0, 0, _("\
 %s: third operand for value of field `%s' must not be larger than %d"),
-          "LC_TIME", "week", 7);
+                           "LC_TIME", "week", 7));
 
   if (time->first_weekday == '\0')
     /* The definition does not specify this so the default is used.  */
     time->first_weekday = 1;
   else if (time->first_weekday > time->week_ndays)
-    error (0, 0, _("\
+    WITH_CUR_LOCALE (error (0, 0, _("\
 %s: values of field `%s' must not be larger than %d"),
-          "LC_TIME", "first_weekday", 7);
+                           "LC_TIME", "first_weekday", 7));
 
   if (time->first_workday == '\0')
     /* The definition does not specify this so the default is used.  */
     time->first_workday = 1;
   else if (time->first_workday > time->week_ndays)
-    error (0, 0, _("\
+    WITH_CUR_LOCALE (error (0, 0, _("\
 %s: values of field `%s' must not be larger than %d"),
-          "LC_TIME", "first_workday", 7);
+                           "LC_TIME", "first_workday", 7));
 
   if (time->cal_direction == '\0')
     /* The definition does not specify this so the default is used.  */
     time->cal_direction = 1;
   else if (time->cal_direction > 3)
-    error (0, 0, _("\
+    WITH_CUR_LOCALE (error (0, 0, _("\
 %s: values for field `%s' must not be larger than %d"),
-          "LC_TIME", "cal_direction", 3);
+                           "LC_TIME", "cal_direction", 3));
 
   /* XXX We don't perform any tests on the timezone value since this is
      simply useless, stupid $&$!@...  */
index 9f51912..f569d1b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
 #include <stdlib.h>
 #include <string.h>
 
+#include "localedef.h"
 #include "charmap.h"
 #include "error.h"
 #include "linereader.h"
-#include "localedef.h"
 #include "locfile.h"
 
-/* Prototypes for a few program-wide used functions.  */
-extern void *xmalloc (size_t __n);
-extern void *xrealloc (void *__p, size_t __n);
-extern char *xstrdup (const char *__str);
-
-
 /* Prototypes for local functions.  */
 static struct token *get_toplvl_escape (struct linereader *lr);
 static struct token *get_symname (struct linereader *lr);
index 868c502..a443609 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper, <drepper@gnu.org>.
 
@@ -98,7 +98,7 @@ extern struct token *lr_token (struct linereader *lr,
 
 
 #define lr_error(lr, fmt, args...) \
-  error_at_line (0, 0, lr->fname, lr->lineno, fmt, ## args)
+  WITH_CUR_LOCALE (error_at_line (0, 0, lr->fname, lr->lineno, fmt, ## args))
 
 
 
index 1d09e8b..3c15956 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include <error.h>
 #include <sys/mman.h>
 #include <sys/stat.h>
 
-#include "error.h"
+#include "localedef.h"
 #include "charmap.h"
 #include "locfile.h"
 
@@ -189,7 +190,8 @@ main (int argc, char *argv[])
      defines error code 3 for this situation so I think it must be
      a fatal error (see P1003.2 4.35.8).  */
   if (sysconf (_SC_2_LOCALEDEF) < 0)
-    error (3, 0, _("FATAL: system does not define `_POSIX2_LOCALEDEF'"));
+    WITH_CUR_LOCALE (error (3, 0, _("\
+FATAL: system does not define `_POSIX2_LOCALEDEF'")));
 
   /* Process charmap file.  */
   charmap = charmap_read (charmap_file, verbose, be_quiet, 1);
@@ -202,7 +204,8 @@ main (int argc, char *argv[])
 
   /* Now read the locale file.  */
   if (locfile_read (&global, charmap) != 0)
-    error (4, errno, _("cannot open locale definition file `%s'"), input_file);
+    WITH_CUR_LOCALE (error (4, errno, _("\
+cannot open locale definition file `%s'"), input_file));
 
   /* Perhaps we saw some `copy' instructions.  */
   while (1)
@@ -217,8 +220,8 @@ main (int argc, char *argv[])
        break;
 
       if (locfile_read (runp, charmap) != 0)
-       error (4, errno, _("cannot open locale definition file `%s'"),
-              runp->name);
+       WITH_CUR_LOCALE (error (4, errno, _("\
+cannot open locale definition file `%s'"), runp->name));
     }
 
   /* Check the categories we processed in source form.  */
@@ -229,13 +232,14 @@ main (int argc, char *argv[])
   if (error_message_count == 0 || force_output != 0)
     {
       if (cannot_write_why != 0)
-       error (4, cannot_write_why, _("cannot write output files to `%s'"),
-              output_path);
+       WITH_CUR_LOCALE (error (4, cannot_write_why, _("\
+cannot write output files to `%s'"), output_path));
       else
        write_all_categories (locales, charmap, output_path);
     }
   else
-    error (4, 0, _("no output file produced because warning were issued"));
+    WITH_CUR_LOCALE (error (4, 0, _("\
+no output file produced because warning were issued")));
 
   /* This exit status is prescribed by POSIX.2 4.35.7.  */
   exit (error_message_count != 0);
@@ -485,13 +489,14 @@ add_to_readlist (int locale, const char *name, const char *repertoire_name,
     }
 
   if (generate && (runp->needed & (1 << locale)) != 0)
-    error (5, 0, _("circular dependencies between locale definitions"));
+    WITH_CUR_LOCALE (error (5, 0, _("\
+circular dependencies between locale definitions")));
 
   if (copy_locale != NULL)
     {
       if (runp->categories[locale].generic != NULL)
-       error (5, 0, _("cannot add already read locale `%s' a second time"),
-              name);
+       WITH_CUR_LOCALE (error (5, 0, _("\
+cannot add already read locale `%s' a second time"), name));
       else
        runp->categories[locale].generic =
          copy_locale->categories[locale].generic;
@@ -516,8 +521,8 @@ find_locale (int locale, const char *name, const char *repertoire_name,
 
   if ((result->avail & (1 << locale)) == 0
       && locfile_read (result, charmap) != 0)
-    error (4, errno, _("cannot open locale definition file `%s'"),
-          result->name);
+    WITH_CUR_LOCALE (error (4, errno, _("\
+cannot open locale definition file `%s'"), result->name));
 
   return result;
 }
@@ -536,8 +541,8 @@ load_locale (int locale, const char *name, const char *repertoire_name,
 
   if ((result->avail & (1 << locale)) == 0
       && locfile_read (result, charmap) != 0)
-    error (4, errno, _("cannot open locale definition file `%s'"),
-          result->name);
+    WITH_CUR_LOCALE (error (4, errno, _("\
+cannot open locale definition file `%s'"), result->name));
 
   return result;
 }
index d2e9ba1..07a65bb 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
 
@@ -568,9 +568,8 @@ write_locale_data (const char *output_path, const char *category,
       if (fd == -1)
        {
          if (!be_quiet)
-           error (0, save_err, _("\
-cannot open output file `%s' for category `%s'"),
-                  fname, category);
+           WITH_CUR_LOCALE (error (0, save_err, _("\
+cannot open output file `%s' for category `%s'"), fname, category));
          free (fname);
          return;
        }
@@ -593,8 +592,8 @@ cannot open output file `%s' for category `%s'"),
       if (writev (fd, &vec[cnt], step) < 0)
        {
          if (!be_quiet)
-           error (0, errno, _("failure while writing data for category `%s'"),
-                  category);
+           WITH_CUR_LOCALE (error (0, errno, _("\
+failure while writing data for category `%s'"), category));
          break;
        }
     }
@@ -690,9 +689,8 @@ cannot open output file `%s' for category `%s'"),
                              if (rename (tmp_fname, fname) < 0)
                                {
                                  if (!be_quiet)
-                                   error (0, errno, _("\
-cannot create output file `%s' for category `%s'"),
-                                          fname, category);
+                                   WITH_CUR_LOCALE (error (0, errno, _("\
+cannot create output file `%s' for category `%s'"), fname, category));
                                }
                              free (tmp_fname);
                              free (other_fname);
index 903b620..8251db4 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
 #include <string.h>
 #include <unistd.h>
 
+#include "localedef.h"
 #include "linereader.h"
 #include "charmap.h"
 #include "repertoire.h"
 #include "simple-hash.h"
-#include "localedef.h"
 
 
 /* Simple keyword hashing for the repertoiremap.  */
@@ -322,13 +322,14 @@ argument to <%s> must be a single character"),
     }
 
   if (state != 2 && state != 90 && !be_quiet)
-    error (0, 0, _("%s: premature end of file"), repfile->fname);
+    WITH_CUR_LOCALE (error (0, 0, _("%s: premature end of file"),
+                           repfile->fname));
 
   lr_close (repfile);
 
   if (tsearch (result, &known, &repertoire_compare) == NULL)
     /* Something went wrong.  */
-    error (0, errno, _("cannot safe new repertoire map"));
+    WITH_CUR_LOCALE (error (0, errno, _("cannot safe new repertoire map")));
 
   return result;
 }
@@ -339,7 +340,8 @@ repertoire_complain (const char *name)
 {
   if (tfind (name, &unavailable, (__compar_fn_t) strcmp) == NULL)
     {
-      error (0, errno, _("repertoire map file `%s' not found"), name);
+      WITH_CUR_LOCALE (error (0, errno, _("\
+repertoire map file `%s' not found"), name));
 
       /* Remember that we reported this map.  */
       tsearch (name, &unavailable, (__compar_fn_t) strcmp);