| line |
true |
false |
branch |
|
28
|
197 |
0 |
if (mg->mg_ptr) { |
|
76
|
26 |
10 |
if (cp <= 0x80) |
|
79
|
4 |
6 |
if (cset->unicode_above_7F == SECRET_BUFFER_CHARSET_TESTUNI) { |
|
81
|
0 |
4 |
if (!cset->rx) return false; |
|
148
|
199 |
0 |
if (pos < lim && lim[-1] == '+') { |
|
|
107 |
92 |
if (pos < lim && lim[-1] == '+') { |
|
152
|
199 |
0 |
if (pos >= lim || *pos != '[' || lim[-1] != ']') |
|
|
199 |
0 |
if (pos >= lim || *pos != '[' || lim[-1] != ']') |
|
|
0 |
199 |
if (pos >= lim || *pos != '[' || lim[-1] != ']') |
|
157
|
199 |
0 |
if (pos < lim && *pos == '^') { |
|
|
58 |
141 |
if (pos < lim && *pos == '^') { |
|
162
|
199 |
0 |
if (pos < lim && *pos == ']') { |
|
|
12 |
187 |
if (pos < lim && *pos == ']') { |
|
167
|
546 |
0 |
while (pos < lim && *pos != ']') { |
|
|
363 |
183 |
while (pos < lim && *pos != ']') { |
|
172
|
1 |
362 |
if (c >= 0x80) |
|
175
|
123 |
239 |
else if (c == '\\') { |
|
176
|
0 |
123 |
if (pos >= lim) return false; |
|
191
|
0 |
0 |
if (pos + 1 >= lim || !(*pos >= '0' && *pos <= '7')) |
|
|
0 |
0 |
if (pos + 1 >= lim || !(*pos >= '0' && *pos <= '7')) |
|
|
0 |
0 |
if (pos + 1 >= lim || !(*pos >= '0' && *pos <= '7')) |
|
197
|
6 |
0 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
3 |
3 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
2 |
1 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
199
|
6 |
0 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
3 |
3 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
1 |
2 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
201
|
1 |
5 |
if (c > 0xFF) |
|
205
|
0 |
11 |
if (pos+1 >= lim) return false; |
|
206
|
11 |
0 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
5 |
6 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
6 |
0 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
2 |
4 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
4 |
0 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
0 |
4 |
high= HEXCHAR_TO_INT(pos[0]); |
|
207
|
11 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
6 |
5 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
5 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
5 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
0 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
0 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
208
|
7 |
4 |
if (high < 0 || low < 0) return false; |
|
|
0 |
7 |
if (high < 0 || low < 0) return false; |
|
218
|
3 |
236 |
else if (c == '[' && pos < lim && *pos == ':') |
|
|
3 |
0 |
else if (c == '[' && pos < lim && *pos == ':') |
|
|
3 |
0 |
else if (c == '[' && pos < lim && *pos == ':') |
|
222
|
186 |
50 |
else if ((c == ' ' || c == '\t') && flag_xx) |
|
|
0 |
186 |
else if ((c == ' ' || c == '\t') && flag_xx) |
|
|
2 |
48 |
else if ((c == ' ' || c == '\t') && flag_xx) |
|
225
|
48 |
297 |
if (range_start >= 0) { |
|
226
|
0 |
48 |
if (c < range_start) /* Invalid range */ |
|
228
|
0 |
48 |
if (c > 0xFF) |
|
230
|
918 |
48 |
while (range_start <= c) |
|
234
|
147 |
150 |
else if (pos + 1 < lim && *pos == '-' && pos[1] != ']') { |
|
|
48 |
99 |
else if (pos + 1 < lim && *pos == '-' && pos[1] != ']') { |
|
|
48 |
0 |
else if (pos + 1 < lim && *pos == '-' && pos[1] != ']') { |
|
238
|
248 |
1 |
else if (c < 0xFF) { |
|
242
|
0 |
183 |
if (pos+1 != lim) // regex did not end at ']', give up |
|
245
|
2 |
181 |
if (flag_i) { |
|
247
|
0 |
2 |
if (bitmap[2] | bitmap[3]) |
|
255
|
183 |
0 |
if (bitmap[2] || bitmap[3]) |
|
|
2 |
181 |
if (bitmap[2] || bitmap[3]) |
|
258
|
57 |
126 |
if (negated) { |
|
260
|
228 |
57 |
for (i = 0; i < 4; i++) |
|
262
|
57 |
0 |
if (cset->unicode_above_7F == SECRET_BUFFER_CHARSET_NOUNI) |
|
276
|
4096 |
16 |
for (c= 0; c < 256; c++) { |
|
280
|
889 |
3207 |
if (result > 0) |
|
297
|
199 |
0 |
return pat_len >= 3 && pattern[0] == '[' && ( |
|
|
199 |
0 |
return pat_len >= 3 && pattern[0] == '[' && ( |
|
298
|
107 |
92 |
pattern[pat_len-1] == ']' |
|
299
|
107 |
0 |
|| (pattern[pat_len-1] == '+' && pattern[pat_len-2] == ']') |
|
|
107 |
0 |
|| (pattern[pat_len-1] == '+' && pattern[pat_len-2] == ']') |
|
312
|
360 |
0 |
if (!qr_ref || !(rx= (REGEXP*)SvRX(qr_ref))) |
|
|
0 |
360 |
if (!qr_ref || !(rx= (REGEXP*)SvRX(qr_ref))) |
|
316
|
161 |
199 |
if (SvMAGICAL(qr_ref)) { |
|
318
|
161 |
0 |
if (mg && mg->mg_ptr) { |
|
|
161 |
0 |
if (mg && mg->mg_ptr) { |
|
325
|
0 |
199 |
if (!regex_is_single_charclass(rx)) |
|
332
|
16 |
183 |
if (!parse_simple_charclass(aTHX_ cset, qr_ref)) { |
|
335
|
64 |
16 |
for (i= 0; i < sizeof(cset->bitmap)/sizeof(cset->bitmap[0]); i++) |