#endif
};
+#ifdef __CYGWIN__
+static char numsix[] = { '\6', '\0'};
+
+const struct lc_ctype_T _C_utf8_ctype_locale = {
+ "UTF-8", /* codeset */
+ numsix /* mb_cur_max */
+#ifdef __HAVE_LOCALE_INFO_EXTENDED__
+ ,
+ { "0", "1", "2", "3", "4", /* outdigits */
+ "5", "6", "7", "8", "9" },
+ { L"0", L"1", L"2", L"3", L"4", /* woutdigits */
+ L"5", L"6", L"7", L"8", L"9" }
+#endif
+};
+#endif
+
/* NULL locale indicates global locale (called from setlocale) */
int
__ctype_load_locale (struct __locale_t *locale, const char *name,
{ NULL, NULL }, /* LC_ALL */
#ifdef __CYGWIN__
{ &_C_collate_locale, NULL }, /* LC_COLLATE */
+ { &_C_utf8_ctype_locale, NULL }, /* LC_CTYPE */
#else
{ NULL, NULL }, /* LC_COLLATE */
-#endif
{ &_C_ctype_locale, NULL }, /* LC_CTYPE */
+#endif
{ &_C_monetary_locale, NULL }, /* LC_MONETARY */
{ &_C_numeric_locale, NULL }, /* LC_NUMERIC */
{ &_C_time_locale, NULL }, /* LC_TIME */