source: trunk/libs/newlib/src/newlib/libc/ctype/ispunct.c @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 1.2 KB
Line 
1/*
2FUNCTION
3        <<ispunct>>, <<ispunct_l>>---punctuation character predicate
4
5INDEX
6        ispunct
7
8INDEX
9        ispunct_l
10
11SYNOPSIS
12        #include <ctype.h>
13        int ispunct(int <[c]>);
14
15        #include <ctype.h>
16        int ispunct_l(int <[c]>, locale_t <[locale]>);
17
18DESCRIPTION
19<<ispunct>> is a macro which classifies singlebyte charset values by table
20lookup.  It is a predicate returning non-zero for printable
21punctuation characters, and 0 for other characters.  It is defined only
22if <[c]> is representable as an unsigned char or if <[c]> is EOF.
23
24<<ispunct_l>> is like <<ispunct>> but performs the check based on the
25locale specified by the locale object locale.  If <[locale]> is
26LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined.
27
28You can use a compiled subroutine instead of the macro definition by
29undefining the macro using `<<#undef ispunct>>' or `<<#undef ispunct_l>>'.
30
31RETURNS
32<<ispunct>>, <<ispunct_l>> return non-zero if <[c]> is a printable
33punctuation character.
34
35PORTABILITY
36<<ispunct>> is ANSI C.
37<<ispunct_l>> is POSIX-1.2008.
38
39No supporting OS subroutines are required.
40*/
41
42#include <_ansi.h>
43#include <ctype.h>
44
45
46#undef ispunct
47int
48ispunct (int c)
49{
50        return(__CTYPE_PTR[c+1] & _P);
51}
Note: See TracBrowser for help on using the repository browser.