1 #include <wctype.h> 2 #ifndef __LITEOS__ 3 #ifdef FEATURE_ICU_LOCALE 4 #include <string.h> 5 #include "locale_impl.h" 6 #endif 7 #endif 8 iswcntrl(wint_t wc)9int iswcntrl(wint_t wc) 10 { 11 return (unsigned)wc < 32 12 || (unsigned)(wc-0x7f) < 33 13 || (unsigned)(wc-0x2028) < 2 14 || (unsigned)(wc-0xfff9) < 3; 15 } 16 __iswcntrl_l(wint_t c,locale_t l)17int __iswcntrl_l(wint_t c, locale_t l) 18 { 19 #ifndef __LITEOS__ 20 #ifdef FEATURE_ICU_LOCALE 21 if (icu_locale_wctype_enable && l && l->cat[LC_CTYPE] 22 && l->cat[LC_CTYPE]->flag == ICU_VALID) { 23 char* type_name = (char*)(l->cat[LC_CTYPE]->name); 24 if (!strcmp(type_name, "zh_CN") || !strcmp(type_name, "en_US.UTF-8")) { 25 return g_icu_opt_func.u_iscntrl(c); 26 } 27 } 28 #endif 29 #endif 30 return iswcntrl(c); 31 } 32 33 weak_alias(__iswcntrl_l, iswcntrl_l); 34