From 4abab5ad6c8465a7528ccdd5f49367da05f78bbd Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Tue, 1 Oct 2024 15:47:05 +0200 Subject: Initial version --- src/ctype/iswspace.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/ctype/iswspace.c (limited to 'src/ctype/iswspace.c') diff --git a/src/ctype/iswspace.c b/src/ctype/iswspace.c new file mode 100644 index 0000000..263afa1 --- /dev/null +++ b/src/ctype/iswspace.c @@ -0,0 +1,24 @@ +#include +#include + +/* Our definition of whitespace is the Unicode White_Space property, + * minus non-breaking spaces (U+00A0, U+2007, and U+202F) and script- + * specific characters with non-blank glyphs (U+1680 and U+180E). */ + +int iswspace(wint_t wc) +{ + static const wchar_t spaces[] = { + ' ', '\t', '\n', '\r', 11, 12, 0x0085, + 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, + 0x2006, 0x2008, 0x2009, 0x200a, + 0x2028, 0x2029, 0x205f, 0x3000, 0 + }; + return wc && wcschr(spaces, wc); +} + +int __iswspace_l(wint_t c, locale_t l) +{ + return iswspace(c); +} + +weak_alias(__iswspace_l, iswspace_l); -- cgit v1.2.3