Formerly generic/pow.c.~3~
[kopensolaris-gnu/glibc.git] / ctype / test_ctype.c
1 /* Copyright (C) 1991 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public License as
6 published by the Free Software Foundation; either version 2 of the
7 License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public
15 License along with the GNU C Library; see the file COPYING.LIB.  If
16 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
17 Cambridge, MA 02139, USA.  */
18
19 #include <ansidecl.h>
20 #include <limits.h>
21 #include <ctype.h>
22 #include <stdio.h>
23 #include <stdlib.h>
24
25 #ifdef  __GNUC__
26 __inline
27 #endif
28 static void
29 DEFUN(print_char, (c), unsigned char c)
30 {
31   printf("%d/", (int) c);
32   if (isgraph(c))
33     printf("'%c'", c);
34   else
35     printf("'\\%.3o'", c);
36 }
37
38 int
39 DEFUN(main, (argc, argv), int argc AND char **argv)
40 {
41   register unsigned short int c;
42
43   for (c = 0; c <= UCHAR_MAX; ++c) {
44     print_char(c);
45     if (isascii(c))
46       fputs(" isascii", stdout);
47     if (isalnum(c))
48       fputs(" isalnum", stdout);
49     if (isalpha(c))
50       fputs(" isalpha", stdout);
51     if (iscntrl(c))
52       fputs(" iscntrl", stdout);
53     if (isdigit(c))
54       fputs(" isdigit", stdout);
55     if (isgraph(c))
56       fputs(" isgraph", stdout);
57     if (islower(c))
58       fputs(" islower", stdout);
59     if (isprint(c))
60       fputs(" isprint", stdout);
61     if (ispunct(c))
62       fputs(" ispunct", stdout);
63     if (isspace(c))
64       fputs(" isspace", stdout);
65     if (isupper(c))
66       fputs(" isupper", stdout);
67     if (isxdigit(c))
68       fputs(" isxdigit", stdout);
69     if (isblank(c))
70       fputs(" isblank", stdout);
71     fputs("; lower = ", stdout);
72     print_char(tolower(c));
73     fputs("; upper = ", stdout);
74     print_char(toupper(c));
75     putchar('\n');
76   }
77
78   exit(EXIT_SUCCESS);
79 }