summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/common
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/linux/common')
-rw-r--r--libc/sysdeps/linux/common/bits/uClibc_locale.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/libc/sysdeps/linux/common/bits/uClibc_locale.h b/libc/sysdeps/linux/common/bits/uClibc_locale.h
index 88226c638..0b8699e32 100644
--- a/libc/sysdeps/linux/common/bits/uClibc_locale.h
+++ b/libc/sysdeps/linux/common/bits/uClibc_locale.h
@@ -71,7 +71,9 @@
#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);
@@ -96,6 +98,7 @@ enum {
* 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;
@@ -139,7 +142,7 @@ typedef struct {
/* 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;
@@ -311,10 +314,10 @@ typedef struct {
} __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,