[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r4528 - in /fsf/trunk/libc: ChangeLog include/langinfo.h locale/nl_langinfo.c locale/nl_langinfo_l.c
- To: commits@xxxxxxxxxx
- Subject: [commits] r4528 - in /fsf/trunk/libc: ChangeLog include/langinfo.h locale/nl_langinfo.c locale/nl_langinfo_l.c
- From: eglibc@xxxxxxxxxx
- Date: Fri, 14 Dec 2007 08:04:10 -0000
Author: eglibc
Date: Fri Dec 14 00:04:09 2007
New Revision: 4528
Log:
Import glibc-mainline for 2007-12-14
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/include/langinfo.h
fsf/trunk/libc/locale/nl_langinfo.c
fsf/trunk/libc/locale/nl_langinfo_l.c
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Dec 14 00:04:09 2007
@@ -1,3 +1,10 @@
+2007-12-13 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * locale/nl_langinfo.c (nl_langinfo): Just call __nl_langinfo_l.
+ * locale/nl_langinfo_l.c: Real implementation, copied from
+ nl_langinfo.c.
+ * include/langinfo.h: Add libc_hidden_proto for __nl_langinfo_l.
+
2007-12-01 Jim Meyering <meyering@xxxxxxxxxx>
* posix/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
Modified: fsf/trunk/libc/include/langinfo.h
==============================================================================
--- fsf/trunk/libc/include/langinfo.h (original)
+++ fsf/trunk/libc/include/langinfo.h Fri Dec 14 00:04:09 2007
@@ -5,5 +5,6 @@
libc_hidden_proto (nl_langinfo)
extern __typeof (nl_langinfo_l) __nl_langinfo_l;
+libc_hidden_proto (__nl_langinfo_l)
#endif
Modified: fsf/trunk/libc/locale/nl_langinfo.c
==============================================================================
--- fsf/trunk/libc/locale/nl_langinfo.c (original)
+++ fsf/trunk/libc/locale/nl_langinfo.c Fri Dec 14 00:04:09 2007
@@ -27,64 +27,10 @@
/* Return a string with the data for locale-dependent parameter ITEM. */
-#ifdef USE_IN_EXTENDED_LOCALE_MODEL
-char *
-__nl_langinfo_l (item, l)
- nl_item item;
- __locale_t l;
-#else
char *
nl_langinfo (item)
nl_item item;
-#endif
{
- int category = _NL_ITEM_CATEGORY (item);
- unsigned int index = _NL_ITEM_INDEX (item);
- const struct locale_data *data;
-
- if (category < 0 || category == LC_ALL || category >= __LC_LAST)
- /* Bogus category: bogus item. */
- return (char *) "";
-
- /* Special case value for NL_LOCALE_NAME (category).
- This is not a real item index in the string table. */
- if (index == _NL_ITEM_INDEX (_NL_LOCALE_NAME (category)))
- {
-#ifdef USE_IN_EXTENDED_LOCALE_MODEL
-# define THISLOCALE l
-#else
-# define THISLOCALE _NL_CURRENT_LOCALE
-#endif
- return (char *) THISLOCALE->__names[category];
- }
-
-#ifdef USE_IN_EXTENDED_LOCALE_MODEL
- data = l->__locales[category];
-#elif defined NL_CURRENT_INDIRECT
- /* Make direct reference to every _nl_current_CATEGORY symbol,
- since we know only at runtime which categories are used. */
- switch (category)
- {
-# define DEFINE_CATEGORY(category, category_name, items, a) \
- case category: data = *_nl_current_##category; break;
-# include "categories.def"
-# undef DEFINE_CATEGORY
- default: /* Should be impossible. */
- return (char *) "";
- }
-#else
- data = _NL_CURRENT_DATA (category);
-#endif
-
- if (index >= data->nstrings)
- /* Bogus index for this category: bogus item. */
- return (char *) "";
-
- /* Return the string for the specified item. */
- return (char *) data->values[index].string;
+ return __nl_langinfo_l (item, _NL_CURRENT_LOCALE);
}
-#ifdef USE_IN_EXTENDED_LOCALE_MODEL
-weak_alias (__nl_langinfo_l, nl_langinfo_l)
-#else
libc_hidden_def (nl_langinfo)
-#endif
Modified: fsf/trunk/libc/locale/nl_langinfo_l.c
==============================================================================
--- fsf/trunk/libc/locale/nl_langinfo_l.c (original)
+++ fsf/trunk/libc/locale/nl_langinfo_l.c Fri Dec 14 00:04:09 2007
@@ -1,4 +1,5 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* User interface for extracting locale-dependent parameters.
+ Copyright (C) 1995-1997,1999-2002,2005,2007 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
@@ -16,5 +17,41 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#define USE_IN_EXTENDED_LOCALE_MODEL 1
-#include <nl_langinfo.c>
+#include <langinfo.h>
+#include <locale.h>
+#include <errno.h>
+#include <stddef.h>
+#include "localeinfo.h"
+
+
+/* Return a string with the data for locale-dependent parameter ITEM. */
+
+char *
+__nl_langinfo_l (item, l)
+ nl_item item;
+ __locale_t l;
+{
+ int category = _NL_ITEM_CATEGORY (item);
+ unsigned int index = _NL_ITEM_INDEX (item);
+ const struct locale_data *data;
+
+ if (category < 0 || category == LC_ALL || category >= __LC_LAST)
+ /* Bogus category: bogus item. */
+ return (char *) "";
+
+ /* Special case value for NL_LOCALE_NAME (category).
+ This is not a real item index in the string table. */
+ if (index == _NL_ITEM_INDEX (_NL_LOCALE_NAME (category)))
+ return (char *) l->__names[category];
+
+ data = l->__locales[category];
+
+ if (index >= data->nstrings)
+ /* Bogus index for this category: bogus item. */
+ return (char *) "";
+
+ /* Return the string for the specified item. */
+ return (char *) data->values[index].string;
+}
+libc_hidden_def (__nl_langinfo_l)
+weak_alias (__nl_langinfo_l, nl_langinfo_l)