PostgreSQL Source Code: src/port/pgstrcasecmp.c Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27#include "c.h"
28
29#include <ctype.h>
30
31
32
33
34
35int
37{
38 for (;;)
39 {
40 unsigned char ch1 = (unsigned char) *s1++;
41 unsigned char ch2 = (unsigned char) *s2++;
42
43 if (ch1 != ch2)
44 {
45 if (ch1 >= 'A' && ch1 <= 'Z')
46 ch1 += 'a' - 'A';
48 ch1 = tolower(ch1);
49
50 if (ch2 >= 'A' && ch2 <= 'Z')
51 ch2 += 'a' - 'A';
53 ch2 = tolower(ch2);
54
55 if (ch1 != ch2)
56 return (int) ch1 - (int) ch2;
57 }
58 if (ch1 == 0)
59 break;
60 }
61 return 0;
62}
63
64
65
66
67
68int
70{
71 while (n-- > 0)
72 {
73 unsigned char ch1 = (unsigned char) *s1++;
74 unsigned char ch2 = (unsigned char) *s2++;
75
76 if (ch1 != ch2)
77 {
78 if (ch1 >= 'A' && ch1 <= 'Z')
79 ch1 += 'a' - 'A';
81 ch1 = tolower(ch1);
82
83 if (ch2 >= 'A' && ch2 <= 'Z')
84 ch2 += 'a' - 'A';
86 ch2 = tolower(ch2);
87
88 if (ch1 != ch2)
89 return (int) ch1 - (int) ch2;
90 }
91 if (ch1 == 0)
92 break;
93 }
94 return 0;
95}
96
97
98
99
100
101
102
103
104unsigned char
106{
107 if (ch >= 'a' && ch <= 'z')
108 ch += 'A' - 'a';
110 ch = toupper(ch);
111 return ch;
112}
113
114
115
116
117
118
119
120
121unsigned char
123{
124 if (ch >= 'A' && ch <= 'Z')
125 ch += 'a' - 'A';
127 ch = tolower(ch);
128 return ch;
129}
130
131
132
133
134unsigned char
136{
137 if (ch >= 'a' && ch <= 'z')
138 ch += 'A' - 'a';
139 return ch;
140}
141
142
143
144
145unsigned char
147{
148 if (ch >= 'A' && ch <= 'Z')
149 ch += 'a' - 'A';
150 return ch;
151}
#define IS_HIGHBIT_SET(ch)
int pg_strcasecmp(const char *s1, const char *s2)
unsigned char pg_toupper(unsigned char ch)
unsigned char pg_tolower(unsigned char ch)
unsigned char pg_ascii_tolower(unsigned char ch)
unsigned char pg_ascii_toupper(unsigned char ch)
int pg_strncasecmp(const char *s1, const char *s2, size_t n)