summary refs log tree commit diff
path: root/locale/nl_langinfo.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-12-14 03:54:07 +0000
committerUlrich Drepper <drepper@redhat.com>2007-12-14 03:54:07 +0000
commitbc3e1c127392da88d0c8bf2ae728147982a3d1bc (patch)
treea7f2e7c9d9f1396438c4f74e9d727d9c731ffed2 /locale/nl_langinfo.c
parent3eb0e1c6d6259c1d8db0859589a5ca67e3cac8e2 (diff)
downloadglibc-bc3e1c127392da88d0c8bf2ae728147982a3d1bc.tar.gz
glibc-bc3e1c127392da88d0c8bf2ae728147982a3d1bc.tar.xz
glibc-bc3e1c127392da88d0c8bf2ae728147982a3d1bc.zip
* 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.
Diffstat (limited to 'locale/nl_langinfo.c')
-rw-r--r--locale/nl_langinfo.c56
1 files changed, 1 insertions, 55 deletions
diff --git a/locale/nl_langinfo.c b/locale/nl_langinfo.c
index c5fbf19e15..b873545caa 100644
--- a/locale/nl_langinfo.c
+++ b/locale/nl_langinfo.c
@@ -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