nomacros.c revision 3434
1#include <stdio.h>
2#include <ctype.h>
3#include <rune.h>
4
5#if !defined(_USE_CTYPE_INLINE_) && !defined(_USE_CTYPE_MACROS_)
6/*
7 * See comments in <machine/ansi.h>
8 */
9int
10__istype(c, f)
11	_BSD_RUNE_T_ c;
12	unsigned long f;
13{
14	if (c == EOF)
15		return 0;
16	if (c < 0)
17		c = (unsigned char) c;
18	return ((((c & _CRMASK) ? ___runetype(c)
19           : _CurrentRuneLocale->runetype[c]) & f) ? 1 : 0);
20}
21
22int
23__isctype(_BSD_RUNE_T_ c, unsigned long f)
24	_BSD_RUNE_T_ c;
25	unsigned long f;
26{
27	if (c == EOF)
28		return 0;
29	if (c < 0)
30		c = (unsigned char) c;
31	return ((((c & _CRMASK) ? 0
32           : _DefaultRuneLocale.runetype[c]) & f) ? 1 : 0);
33}
34
35_BSD_RUNE_T_
36toupper(c)
37	_BSD_RUNE_T_ c;
38{
39	if (c == EOF)
40		return EOF;
41	if (c < 0)
42		c = (unsigned char) c;
43	return ((c & _CRMASK) ?
44	    ___toupper(c) : _CurrentRuneLocale->mapupper[c]);
45}
46
47_BSD_RUNE_T_
48tolower(c)
49	_BSD_RUNE_T_ c;
50{
51	if (c == EOF)
52		return EOF;
53	if (c < 0)
54		c = (unsigned char) c;
55	return ((c & _CRMASK) ?
56	    ___tolower(c) : _CurrentRuneLocale->maplower[c]);
57}
58#endif
59