* locale/nl_langinfo.c (nl_langinfo): Just call __nl_langinfo_l.
authorUlrich Drepper <drepper@redhat.com>
Fri, 14 Dec 2007 03:54:07 +0000 (03:54 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 14 Dec 2007 03:54:07 +0000 (03:54 +0000)
* locale/nl_langinfo_l.c: Real implementation, copied from
nl_langinfo.c.
* include/langinfo.h: Add libc_hidden_proto for __nl_langinfo_l.

ChangeLog
include/langinfo.h
locale/nl_langinfo.c
locale/nl_langinfo_l.c
posix/regcomp.c

index d0321fb..aa5b2c5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-12-13  Ulrich Drepper  <drepper@redhat.com>
+
+       * 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@redhat.com>
 
        * posix/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
index 8f93671..37a91c6 100644 (file)
@@ -5,5 +5,6 @@
 libc_hidden_proto (nl_langinfo)
 
 extern __typeof (nl_langinfo_l) __nl_langinfo_l;
+libc_hidden_proto (__nl_langinfo_l)
 
 #endif
index c5fbf19..b873545 100644 (file)
 
 /* 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
index ef7b7a1..08e1534 100644 (file)
@@ -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
    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)
index 1de46d7..f4eab3a 100644 (file)
@@ -1030,7 +1030,7 @@ optimize_utf8 (re_dfa_t *dfa)
          mb_chars = 1;
        break;
       case ANCHOR:
-       switch (dfa->nodes[node].opr.ctx_index)
+       switch (dfa->nodes[node].opr.ctx_type)
          {
          case LINE_FIRST:
          case LINE_LAST: