]> pd.if.org Git - pdclib/blob - functions/ctype/isprint.c
6a5366adaa355959af7c4fd2ee0efa93b55abfa5
[pdclib] / functions / ctype / isprint.c
1 /* $Id$ */
2
3 /* isprint( int )
4
5    This file is part of the Public Domain C Library (PDCLib).
6    Permission is granted to use, modify, and / or redistribute at will.
7 */
8
9 #include <ctype.h>
10
11 #ifndef REGTEST
12 #include <_PDCLIB_locale.h>
13
14 int isprint( int c )
15 {
16     return ( _PDCLIB_threadlocale()->_CType[c].flags & _PDCLIB_CTYPE_GRAPH ) || ( c == ' ' );
17 }
18
19 #endif
20
21 #ifdef TEST
22 #include <_PDCLIB_test.h>
23
24 int main( void )
25 {
26     TESTCASE( isprint( 'a' ) );
27     TESTCASE( isprint( 'z' ) );
28     TESTCASE( isprint( 'A' ) );
29     TESTCASE( isprint( 'Z' ) );
30     TESTCASE( isprint( '@' ) );
31     TESTCASE( ! isprint( '\t' ) );
32     TESTCASE( ! isprint( '\0' ) );
33     TESTCASE( isprint( ' ' ) );
34     return TEST_RESULTS;
35 }
36
37 #endif