summaryrefslogtreecommitdiff
path: root/src/ctype/isblank.c
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-02-08 18:42:39 -0500
committerJakob Kaivo <jkk@ung.org>2019-02-08 18:42:39 -0500
commit7ef8a7379f7f7d09e71ccae2a0b688c3cd80423f (patch)
tree092ab0aed1769117fd7b28b8592f6f96b0e0d5af /src/ctype/isblank.c
parent6acf19370e8adff79cd83b257d3f04aeaf2a59dd (diff)
merge sources into single tree
Diffstat (limited to 'src/ctype/isblank.c')
-rw-r--r--src/ctype/isblank.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/ctype/isblank.c b/src/ctype/isblank.c
new file mode 100644
index 00000000..1a597f82
--- /dev/null
+++ b/src/ctype/isblank.c
@@ -0,0 +1,39 @@
+#include <ctype.h>
+#include "limits.h"
+#include "locale.h"
+#include "nonstd/ctype.h"
+#include "nonstd/internal.h"
+#include "nonstd/assert.h"
+
+/** test whether a character is blank **/
+int isblank(int c)
+{
+ ASSERT_REPRESENTABLE(c, 0, UCHAR_MAX, "unsigned char", EOF);
+
+ unsigned int *map = __libc(CTYPE);
+
+ return map[c] & BLANK;
+}
+
+/***
+The fn(isblank) functions tests whether a character is a of the character
+class cclass(blank) in the current locale.
+
+In the locale(C) and locale(POSIX) locales, only the standard blank characters
+space (char( )) horizontal tab (char(\t)) are blank.
+
+In other locales, fn(isblank) will return true for the standard blank characters
+as well as other characters for which fn(isspace) is true and the character is
+used to separate words on a line a text.
+***/
+
+/* RETURN(NZ): arg(c) is a blank character */
+/* RETURN(0): arg(c) is not a blank character */
+
+/* UNSPECIFIED: - */
+/* IMPLEMENTATION: - */
+/* LOCALE: LC_CTYPE */
+
+/*
+STDC(199901)
+*/