#include <stdint.h>
#include <bits/uClibc_touplow.h>
+#if defined(_LIBC) && !defined(__UCLIBC_GEN_LOCALE)
#include <bits/uClibc_locale_data.h>
+#endif
extern void _locale_set(const unsigned char *p);
extern void _locale_init(void);
* In particular, C/POSIX locale is '#' + "\x80\x01"}*LC_ALL + nul.
*/
+#if defined(_LIBC) && !defined(__UCLIBC_GEN_LOCALE)
typedef struct {
uint16_t num_weights;
uint16_t num_starters;
/* static unsigned char cur_locale[LOCALE_STRING_SIZE]; */
-typedef struct {
+typedef struct __uclibc_locale_struct {
#ifdef __UCLIBC_HAS_XLOCALE__
const __ctype_mask_t *__ctype_b;
const __ctype_touplow_t *__ctype_tolower;
} __uclibc_locale_t;
-typedef __uclibc_locale_t *__locale_t;
-
-extern __locale_t __global_locale;
+extern struct __uclibc_locale_struct * __global_locale;
+#endif
+typedef struct __uclibc_locale_struct *__locale_t;
extern int __locale_mbrtowc_l(wchar_t *__restrict dst,
const char *__restrict src,