Lines Matching refs:str
30 static int utf8_encoded_expected_len(const char *str)
32 unsigned char c = (unsigned char)str[0];
50 static int utf8_encoded_to_unichar(const char *str)
56 len = utf8_encoded_expected_len(str);
59 return (int)str[0];
61 unichar = str[0] & 0x1f;
64 unichar = (int)str[0] & 0x0f;
67 unichar = (int)str[0] & 0x07;
70 unichar = (int)str[0] & 0x03;
73 unichar = (int)str[0] & 0x01;
80 if (((int)str[i] & 0xc0) != 0x80)
83 unichar |= (int)str[i] & 0x3f;
120 static int utf8_encoded_valid_unichar(const char *str)
126 len = utf8_encoded_expected_len(str);
136 if ((str[i] & 0x80) != 0x80)
139 unichar = utf8_encoded_to_unichar(str);
153 static int replace_untrusted_chars(char *str)
158 while (str[i] != '\0') {
162 if ((str[i] >= '0' && str[i] <= '9') ||
163 (str[i] >= 'A' && str[i] <= 'Z') ||
164 (str[i] >= 'a' && str[i] <= 'z') ||
165 strchr(" #$%+-./:=?@_,", str[i])) {
170 len = utf8_encoded_valid_unichar(&str[i]);
177 str[i] = '_';