summaryrefslogtreecommitdiffstats
path: root/newlib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc')
-rw-r--r--newlib/libc/ctype/ctype_.c2
-rw-r--r--newlib/libc/ctype/isblank.c2
-rw-r--r--newlib/libc/include/ctype.h4
3 files changed, 6 insertions, 2 deletions
diff --git a/newlib/libc/ctype/ctype_.c b/newlib/libc/ctype/ctype_.c
index 6fa30b207..71756431b 100644
--- a/newlib/libc/ctype/ctype_.c
+++ b/newlib/libc/ctype/ctype_.c
@@ -39,7 +39,7 @@ static char sccsid[] = "@(#)ctype_.c 5.6 (Berkeley) 6/1/90";
#define _CTYPE_DATA_0_127 \
_C, _C, _C, _C, _C, _C, _C, _C, \
- _C, _C|_S, _C|_S, _C|_S, _C|_S, _C|_S, _C, _C, \
+ _C, _B|_C|_S, _C|_S, _C|_S, _C|_S, _C|_S, _C, _C, \
_C, _C, _C, _C, _C, _C, _C, _C, \
_C, _C, _C, _C, _C, _C, _C, _C, \
_S|_B, _P, _P, _P, _P, _P, _P, _P, \
diff --git a/newlib/libc/ctype/isblank.c b/newlib/libc/ctype/isblank.c
index 3e124d8f7..0567b40b9 100644
--- a/newlib/libc/ctype/isblank.c
+++ b/newlib/libc/ctype/isblank.c
@@ -37,5 +37,5 @@ No supporting OS subroutines are required.
int
_DEFUN(isblank,(c),int c)
{
- return (c == ' ' || c == '\t');
+ return(__ctype_ptr__[c+1] & _B);
}
diff --git a/newlib/libc/include/ctype.h b/newlib/libc/include/ctype.h
index a7c7ca2ef..74cfb6f23 100644
--- a/newlib/libc/include/ctype.h
+++ b/newlib/libc/include/ctype.h
@@ -54,6 +54,10 @@ extern __IMPORT _CONST char *__ctype_ptr__;
#define isgraph(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&(_P|_U|_L|_N))
#define iscntrl(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_C)
+#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ >= 199901L
+#define isblank(c) ((__ctype_ptr__)[(unsigned)((c)+1)]&_B)
+#endif
+
/* Non-gcc versions will get the library versions, and will be
slightly slower */