about summary refs log tree commit diff
path: root/locale
diff options
context:
space:
mode:
Diffstat (limited to 'locale')
-rw-r--r--locale/lc-ctype.c5
-rw-r--r--locale/nl_langinfo.c7
2 files changed, 8 insertions, 4 deletions
diff --git a/locale/lc-ctype.c b/locale/lc-ctype.c
index c634d12adb..2384d17a39 100644
--- a/locale/lc-ctype.c
+++ b/locale/lc-ctype.c
@@ -40,10 +40,11 @@ _nl_postload_ctype (void)
 #else
 #error bizarre byte order
 #endif
-#define eval(x) x
+#define paste(a,b) paste1(a,b)
+#define paste1(a,b) a##b
 
 #define current(unsigned,x) \
-  ((const unsigned int *) _NL_CURRENT (LC_CTYPE, _NL_CTYPE_##eval(x)) \
+  ((const unsigned int *) _NL_CURRENT (LC_CTYPE, paste(_NL_CTYPE_,x)) \
    + 128)
 
   __ctype_b = current (unsigned short, CLASS);
diff --git a/locale/nl_langinfo.c b/locale/nl_langinfo.c
index 4d02abf49e..83d35dcb70 100644
--- a/locale/nl_langinfo.c
+++ b/locale/nl_langinfo.c
@@ -18,6 +18,9 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
 #include <langinfo.h>
+#include <errno.h>
+#include <stddef.h>
+#include "localeinfo.h"
 
 /* This array duplicates `_nl_current' defined in setlocale.c; but since
    the references here are not weak references, this guarantees that the
@@ -49,7 +52,7 @@ nl_langinfo (item)
       return NULL;
     }
 
-  data = nldata[category];
+  data = *nldata[category];
 
   if (index >= data->nstrings)
     {
@@ -59,5 +62,5 @@ nl_langinfo (item)
     }
 
   /* Return the string for the specified item.  */
-  return (char *) nldata->strings[index];
+  return (char *) data->strings[index];
 }