diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-12-14 03:54:07 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-12-14 03:54:07 +0000 |
commit | bc3e1c127392da88d0c8bf2ae728147982a3d1bc (patch) | |
tree | a7f2e7c9d9f1396438c4f74e9d727d9c731ffed2 /locale/nl_langinfo.c | |
parent | 3eb0e1c6d6259c1d8db0859589a5ca67e3cac8e2 (diff) | |
download | glibc-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.c | 56 |
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 |