OLD | NEW |
1 #include <wchar.h> | 1 #include <wchar.h> |
2 #include <wctype.h> | 2 #include <wctype.h> |
3 #include "libc.h" | 3 #include "libc.h" |
4 | 4 |
5 /* Our definition of whitespace is the Unicode White_Space property, | 5 /* Our definition of whitespace is the Unicode White_Space property, |
6 * minus non-breaking spaces (U+00A0, U+2007, and U+202F) and script- | 6 * minus non-breaking spaces (U+00A0, U+2007, and U+202F) and script- |
7 * specific characters with non-blank glyphs (U+1680 and U+180E). */ | 7 * specific characters with non-blank glyphs (U+1680 and U+180E). */ |
8 | 8 |
9 int iswspace(wint_t wc) | 9 int iswspace(wint_t wc) { |
10 { | 10 static const wchar_t spaces[] = { |
11 » static const wchar_t spaces[] = { | 11 ' ', '\t', '\n', '\r', 11, 12, 0x0085, 0x2000, |
12 » » ' ', '\t', '\n', '\r', 11, 12, 0x0085, | 12 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2008, 0x2009, |
13 » » 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, | 13 0x200a, 0x2028, 0x2029, 0x205f, 0x3000, 0}; |
14 » » 0x2006, 0x2008, 0x2009, 0x200a, | 14 return wc && wcschr(spaces, wc); |
15 » » 0x2028, 0x2029, 0x205f, 0x3000, 0 | |
16 » }; | |
17 » return wc && wcschr(spaces, wc); | |
18 } | 15 } |
19 | 16 |
20 int __iswspace_l(wint_t c, locale_t l) | 17 int __iswspace_l(wint_t c, locale_t l) { |
21 { | 18 return iswspace(c); |
22 » return iswspace(c); | |
23 } | 19 } |
24 | 20 |
25 weak_alias(__iswspace_l, iswspace_l); | 21 weak_alias(__iswspace_l, iswspace_l); |
OLD | NEW |