[BZ #9705]
authorUlrich Drepper <drepper@redhat.com>
Fri, 9 Jan 2009 04:33:02 +0000 (04:33 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 9 Jan 2009 04:33:02 +0000 (04:33 +0000)
2009-01-08  Ulrich Drepper  <drepper@redhat.com>
[BZ #9705]
* locales/el_CY: Cyprus uses the Euro.

localedata/ChangeLog
localedata/locales/el_CY
nss/nss_files/files-parse.c

index 7fb68e4..7c8da14 100644 (file)
@@ -1,3 +1,8 @@
+2009-01-08  Ulrich Drepper  <drepper@redhat.com>
+
+       [BZ #9705]
+       * locales/el_CY: Cyprus uses the Euro.
+
 2008-12-31  Ulrich Drepper  <drepper@redhat.com>
 
        * locales/iso14651_t1_common: Fix sorting of U+0AB3.
index 66acb12..7213924 100644 (file)
@@ -44,8 +44,8 @@ copy "el_GR"
 END LC_MESSAGES
 
 LC_MONETARY
-int_curr_symbol       "<U0043><U0059><U0050><U0020>"
-currency_symbol       "<U00A3>"
+int_curr_symbol       "<U0045><U0055><U0052><U0020>"
+currency_symbol       "<U20AC>"
 mon_decimal_point     "<U002C>"
 mon_thousands_sep     "<U002E>"
 mon_grouping          3
index 3ba37c8..66615da 100644 (file)
@@ -1,5 +1,5 @@
 /* Common code for file-based database parsers in nss_files module.
-   Copyright (C) 1996-2000, 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 1996-2000, 2003, 2004, 2009 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
@@ -127,10 +127,24 @@ nss_files_parse_hidden_def (parse_line)
       }                                                                              \
   }
 
+/* Helper function.  */
+static inline uint32_t
+__attribute__ ((always_inline))
+strtou32 (const char *nptr, char **endptr, int base)
+{
+  unsigned long int val = strtoul (nptr, endptr, base);
+
+  /* Match the 32-bit behavior on 64-bit platforms.  */
+  if (sizeof (long int) > 4 && val > 0xffffffff)
+    val = 0xffffffff;
+
+  return val;
+}
+
 # define INT_FIELD(variable, terminator_p, swallow, base, convert)           \
   {                                                                          \
     char *endp;                                                                      \
-    variable = convert (strtoul (line, &endp, base));                        \
+    variable = convert (strtou32 (line, &endp, base));                       \
     if (endp == line)                                                        \
       return 0;                                                                      \
     else if (terminator_p (*endp))                                           \
@@ -148,7 +162,7 @@ nss_files_parse_hidden_def (parse_line)
     if (*line == '\0')                                                       \
       /* We expect some more input, so don't allow the string to end here. */ \
       return 0;                                                                      \
-    variable = convert (strtoul (line, &endp, base));                        \
+    variable = convert (strtou32 (line, &endp, base));                       \
     if (endp == line)                                                        \
       variable = default;                                                    \
     if (terminator_p (*endp))                                                \