github.com/afumu/libc@v0.0.6/musl/src/ctype/iswprint.c (about) 1 #include <wctype.h> 2 3 /* Consider all legal codepoints as printable except for: 4 * - C0 and C1 control characters 5 * - U+2028 and U+2029 (line/para break) 6 * - U+FFF9 through U+FFFB (interlinear annotation controls) 7 * The following code is optimized heavily to make hot paths for the 8 * expected printable characters. */ 9 10 int iswprint(wint_t wc) 11 { 12 if (wc < 0xffU) 13 return (wc+1 & 0x7f) >= 0x21; 14 if (wc < 0x2028U || wc-0x202aU < 0xd800-0x202a || wc-0xe000U < 0xfff9-0xe000) 15 return 1; 16 if (wc-0xfffcU > 0x10ffff-0xfffc || (wc&0xfffe)==0xfffe) 17 return 0; 18 return 1; 19 } 20 21 int __iswprint_l(wint_t c, locale_t l) 22 { 23 return iswprint(c); 24 } 25 26 weak_alias(__iswprint_l, iswprint_l);