aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-03-26 09:45:11 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-03-26 09:45:11 +0000
commit7ca98b490133315b2b999c56eff604b655f062c0 (patch)
tree4c237266eab6b38c6ca655f9e1e4656fe411536b /newlib
parent3ed024dcb2f874e9a6a1eac6142a0864eac33460 (diff)
downloadnewlib-7ca98b490133315b2b999c56eff604b655f062c0.zip
newlib-7ca98b490133315b2b999c56eff604b655f062c0.tar.gz
newlib-7ca98b490133315b2b999c56eff604b655f062c0.tar.bz2
* libc/ctype/ctype_.c (_CTYPE_DATA_0_127): Mark TAB as blank character.
* libc/ctype/isblank.c: Replace hardcoded test with test for having _B marker in ctype array. * libc/include/ctype.h (isblank): Add macro.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog7
-rw-r--r--newlib/libc/ctype/ctype_.c2
-rw-r--r--newlib/libc/ctype/isblank.c2
-rw-r--r--newlib/libc/include/ctype.h4
4 files changed, 13 insertions, 2 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 7ab9ba1..a964578 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,10 @@
+2009-03-26 Corinna Vinschen <corinna@vinschen.de>
+
+ * libc/ctype/ctype_.c (_CTYPE_DATA_0_127): Mark TAB as blank character.
+ * libc/ctype/isblank.c: Replace hardcoded test with test for having _B
+ marker in ctype array.
+ * libc/include/ctype.h (isblank): Add macro.
+
2009-03-25 Craig Howland <howland@LGSInnovations.com>
* libc/include/math.h: (llround, llroundf): Declare.
diff --git a/newlib/libc/ctype/ctype_.c b/newlib/libc/ctype/ctype_.c
index 6fa30b2..7175643 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 3e124d8..0567b40 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 a7c7ca2..74cfb6f 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 */