summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/src/ctype/iswspace.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc-top-half/musl/src/ctype/iswspace.c')
-rw-r--r--libc-top-half/musl/src/ctype/iswspace.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/libc-top-half/musl/src/ctype/iswspace.c b/libc-top-half/musl/src/ctype/iswspace.c
new file mode 100644
index 0000000..263afa1
--- /dev/null
+++ b/libc-top-half/musl/src/ctype/iswspace.c
@@ -0,0 +1,24 @@
+#include <wchar.h>
+#include <wctype.h>
+
+/* 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);