Tizen 2.0 Release
[external/libgnutls26.git] / src / cfg / platon / str / strctype.c
1 #ifdef HAVE_CONFIG_H
2 #  include "config.h"
3 #endif
4
5 #include <string.h>
6 #include <ctype.h>
7
8 #include <platon/str/strctype.h>
9
10         int
11 PLATON_FUNC(strctype_fnc)(s, fnc)
12         const char *s;
13         int (*     fnc)(int);
14 {
15         register int i;
16
17         for (i = 0; s[i] != '\0'; i++)
18                 if (! fnc(s[i]))
19                         return 0;
20
21         return 1;
22 }
23
24         char *
25 PLATON_FUNC(strtolower)(s)
26         char *s;
27 {
28         register int i;
29
30         for (i = 0; s[i] != '\0'; i++)
31                 s[i] = tolower(s[i]);
32
33         return s;
34 }
35
36         char *
37 PLATON_FUNC(strtoupper)(s)
38         char *s;
39 {
40         register int i;
41
42         for (i = 0; s[i] != '\0'; i++)
43                 s[i] = toupper(s[i]);
44
45         return s;
46 }
47
48 #if defined(SELF) || defined(SELFTEST) || defined(SELF_STRCTYPE)
49
50 #include <stdio.h>
51 #include <stdlib.h>
52
53 #define TESTSTR1 "___AAA_BBBB__C_DaDaD____"
54 #define TESTSTR2 "aaa~!@#$%^&*()_+|{];':\",./<>?"
55 #define TESTSTR3 "abcdefghijklmnoprstu"
56 #define TESTSTR4 "ABCDEFGHIJKLMNOPRSTU"
57
58         int
59 main(void)
60 {
61
62         /* Testing strisXXX() functions. */
63
64         printf("strislower(\"%s\") = %d\n", TESTSTR1, strislower(TESTSTR1));
65         printf("strisupper(\"%s\") = %d\n", TESTSTR1, strisupper(TESTSTR1));
66         printf("strislower(\"%s\") = %d\n", TESTSTR2, strislower(TESTSTR2));
67         printf("strisupper(\"%s\") = %d\n", TESTSTR2, strisupper(TESTSTR2));
68         printf("strislower(\"%s\") = %d\n", TESTSTR3, strislower(TESTSTR3));
69         printf("strisupper(\"%s\") = %d\n", TESTSTR3, strisupper(TESTSTR3));
70         printf("strislower(\"%s\") = %d\n", TESTSTR4, strislower(TESTSTR4));
71         printf("strisupper(\"%s\") = %d\n", TESTSTR4, strisupper(TESTSTR4));
72
73         /* Testing strtoXXX() functions. */
74
75         {
76                 char *s1, *s2;
77
78                 s1 = strdup(TESTSTR1);
79                 s2 = strdup(TESTSTR2);
80
81                 if (s1 == NULL || s2 == NULL)
82                         return 1;
83
84                 printf("strtolower(\"%s\") =", s1);
85                 printf(" \"%s\"\n", strtolower(s1));
86
87                 printf("strtoupper(\"%s\") =", s2);
88                 printf(" \"%s\"\n", strtoupper(s2));
89
90                 free(s1);
91                 free(s2);
92
93         }
94
95         return 0;
96 }
97
98 #endif /* #if defined(SELF) || defined(SELFTEST) || defined(SELF_STRCTYPE) */
99