#include #include "limits.h" #include "nonstd/assert.h" #include "nonstd/ctype.h" /** test whether a character is white-space **/ int isspace(int c) { unsigned int *map = __libc(CTYPE); ASSERT_REPRESENTABLE(c, 0, UCHAR_MAX, unsigned char, EOF); /* RETURN(NONZERO, ARGUMENT(c) is a white-space character); RETURN(0, ARGUMENT(c) is not a white-space character); */ return map[c] & CT_SPACE; } /*** tests whether ARGUMENT(c) is a character in the class CHARACTER_CLASS(space) in the current locale. ***/ /* LC_CTYPE C_LOCALE(`THIS() is true for the standard white-space characters: SPACE, form feed (CHAR(\f)), new-line (CHAR(\n)), carriage return (CHAR(\r)), horizontal tab (CHAR(\t)), and vertical tab (CHAR(\v))') OTHER_LOCALES(`THIS() is true for the standard white-space characters and a set of characters for which FUNCTION(isalnum) is false') STDC(1) */