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)