diff options
Diffstat (limited to 'locale')
-rw-r--r-- | locale/lc-ctype.c | 5 | ||||
-rw-r--r-- | locale/nl_langinfo.c | 7 |
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]; } |