diff options
author | Jason Hobbs <jason.hobbs@calxeda.com> | 2011-08-31 10:37:25 -0500 |
---|---|---|
committer | John Rigby <john.rigby@linaro.org> | 2011-09-23 07:10:37 -0600 |
commit | 01b5cfa995d9f618fd6b2318cef55e8e82c3720e (patch) | |
tree | 8e5603ae49e73cdfdf889d52af52a47ec9cf52f7 | |
parent | 74a57989d97862da6ee587e32bea78385c5514d7 (diff) |
Add isblank
Existing ctype checks are implemented using a 256 byte lookup table,
allowing each character to be in any of 8 character classes. Since there
are 8 existing character classes without the blank class, I implemented
isblank without using the lookup table. Since there are only two blank
characters - tab and space - this is a more reasonable approach than
doubling the size of the lookup table to accommodate one more class.
Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
-rw-r--r-- | include/linux/ctype.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/ctype.h b/include/linux/ctype.h index 6dec944a3..42f9305a0 100644 --- a/include/linux/ctype.h +++ b/include/linux/ctype.h @@ -31,6 +31,12 @@ extern const unsigned char _ctype[]; #define isupper(c) ((__ismask(c)&(_U)) != 0) #define isxdigit(c) ((__ismask(c)&(_D|_X)) != 0) +/* + * Rather than doubling the size of the _ctype lookup table to hold a 'blank' + * flag, just check for space or tab. + */ +#define isblank(c) (c == ' ' || c == '\t') + #define isascii(c) (((unsigned char)(c))<=0x7f) #define toascii(c) (((unsigned char)(c))&0x7f) |