| line |
true |
false |
branch |
|
28
|
276 |
0 |
if (mg->mg_ptr) { |
|
76
|
202 |
22 |
if (cp <= 0x80) |
|
79
|
16 |
6 |
if (cset->unicode_above_7F == SECRET_BUFFER_CHARSET_TESTUNI) { |
|
81
|
0 |
16 |
if (!cset->rx) return false; |
|
151
|
278 |
0 |
if (pos < lim && lim[-1] == '+') { |
|
|
107 |
171 |
if (pos < lim && lim[-1] == '+') { |
|
155
|
278 |
0 |
if (pos >= lim || *pos != '[' || lim[-1] != ']') { |
|
|
270 |
8 |
if (pos >= lim || *pos != '[' || lim[-1] != ']') { |
|
|
0 |
270 |
if (pos >= lim || *pos != '[' || lim[-1] != ']') { |
|
157
|
2 |
6 |
if (pos + 1 == lim && *pos == '.') { |
|
|
2 |
0 |
if (pos + 1 == lim && *pos == '.') { |
|
160
|
1 |
1 |
if (!flag_s) /* all but newline */ |
|
169
|
270 |
0 |
if (pos < lim && *pos == '^') { |
|
|
58 |
212 |
if (pos < lim && *pos == '^') { |
|
174
|
270 |
0 |
if (pos < lim && *pos == ']') { |
|
|
12 |
258 |
if (pos < lim && *pos == ']') { |
|
179
|
811 |
0 |
while (pos < lim && *pos != ']') { |
|
|
559 |
252 |
while (pos < lim && *pos != ']') { |
|
184
|
1 |
558 |
if (c >= 0x80) |
|
187
|
319 |
239 |
else if (c == '\\') { |
|
188
|
0 |
319 |
if (pos >= lim) return false; |
|
203
|
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')) |
|
209
|
62 |
0 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
3 |
59 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
2 |
1 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
211
|
62 |
0 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
3 |
59 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
|
1 |
2 |
if (pos < lim && *pos >= '0' && *pos <= '7') |
|
213
|
1 |
61 |
if (c > 0xFF) |
|
217
|
0 |
143 |
if (pos+1 >= lim) return false; |
|
218
|
143 |
0 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
117 |
26 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
26 |
0 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
22 |
4 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
4 |
0 |
high= HEXCHAR_TO_INT(pos[0]); |
|
|
0 |
4 |
high= HEXCHAR_TO_INT(pos[0]); |
|
219
|
143 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
16 |
127 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
127 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
127 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
0 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
|
0 |
0 |
low= HEXCHAR_TO_INT(pos[1]); |
|
220
|
139 |
4 |
if (high < 0 || low < 0) return false; |
|
|
0 |
139 |
if (high < 0 || low < 0) return false; |
|
230
|
3 |
236 |
else if (c == '[' && pos < lim && *pos == ':') |
|
|
3 |
0 |
else if (c == '[' && pos < lim && *pos == ':') |
|
|
3 |
0 |
else if (c == '[' && pos < lim && *pos == ':') |
|
234
|
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) |
|
237
|
114 |
425 |
if (range_start >= 0) { |
|
238
|
0 |
114 |
if (c < range_start) /* Invalid range */ |
|
240
|
0 |
114 |
if (c > 0xFF) |
|
242
|
2966 |
114 |
while (range_start <= c) |
|
246
|
216 |
209 |
else if (pos + 1 < lim && *pos == '-' && pos[1] != ']') { |
|
|
114 |
102 |
else if (pos + 1 < lim && *pos == '-' && pos[1] != ']') { |
|
|
114 |
0 |
else if (pos + 1 < lim && *pos == '-' && pos[1] != ']') { |
|
250
|
310 |
1 |
else if (c < 0xFF) { |
|
254
|
0 |
252 |
if (pos+1 != lim) // regex did not end at ']', give up |
|
257
|
2 |
250 |
if (flag_i) { |
|
259
|
0 |
2 |
if (bitmap[2] | bitmap[3]) |
|
267
|
252 |
0 |
if (bitmap[2] || bitmap[3]) |
|
|
12 |
240 |
if (bitmap[2] || bitmap[3]) |
|
270
|
57 |
195 |
if (negated) { |
|
272
|
228 |
57 |
for (i = 0; i < 4; i++) |
|
274
|
57 |
0 |
if (cset->unicode_above_7F == SECRET_BUFFER_CHARSET_NOUNI) |
|
288
|
6144 |
24 |
for (c= 0; c < 256; c++) { |
|
292
|
2039 |
4105 |
if (result > 0) |
|
306
|
270 |
0 |
return pat_len >= 3 && pattern[0] == '[' |
|
307
|
107 |
163 |
&& (pattern[pat_len-1] == ']' || (pattern[pat_len-1] == '+' && pattern[pat_len-2] == ']')) |
|
|
107 |
0 |
&& (pattern[pat_len-1] == ']' || (pattern[pat_len-1] == '+' && pattern[pat_len-2] == ']')) |
|
|
0 |
107 |
&& (pattern[pat_len-1] == ']' || (pattern[pat_len-1] == '+' && pattern[pat_len-2] == ']')) |
|
309
|
6 |
2 |
|| (pat_len == 1 || (pat_len == 2 && pattern[1] == '+')) |
|
|
6 |
0 |
|| (pat_len == 1 || (pat_len == 2 && pattern[1] == '+')) |
|
|
0 |
6 |
|| (pat_len == 1 || (pat_len == 2 && pattern[1] == '+')) |
|
310
|
0 |
2 |
&& pattern[0] == '.' |
|
312
|
270 |
8 |
|| (pat_len == 2 || (pat_len == 3 && pattern[2] == '+')) |
|
|
0 |
6 |
|| (pat_len == 2 || (pat_len == 3 && pattern[2] == '+')) |
|
|
0 |
0 |
|| (pat_len == 2 || (pat_len == 3 && pattern[2] == '+')) |
|
|
0 |
0 |
|| (pat_len == 2 || (pat_len == 3 && pattern[2] == '+')) |
|
313
|
6 |
0 |
&& pattern[0] == '\\' && ( |
|
314
|
5 |
1 |
pattern[1] == 'w' || pattern[1] == 'W' |
|
|
4 |
1 |
pattern[1] == 'w' || pattern[1] == 'W' |
|
315
|
3 |
1 |
|| pattern[1] == 's' || pattern[1] == 'S' |
|
|
2 |
1 |
|| pattern[1] == 's' || pattern[1] == 'S' |
|
316
|
1 |
1 |
|| pattern[1] == 'd' || pattern[1] == 'D' |
|
|
1 |
0 |
|| pattern[1] == 'd' || pattern[1] == 'D' |
|
328
|
631 |
0 |
if (!qr_ref || !(rx= (REGEXP*)SvRX(qr_ref))) |
|
|
0 |
631 |
if (!qr_ref || !(rx= (REGEXP*)SvRX(qr_ref))) |
|
332
|
353 |
278 |
if (SvMAGICAL(qr_ref)) { |
|
334
|
353 |
0 |
if (mg && mg->mg_ptr) { |
|
|
353 |
0 |
if (mg && mg->mg_ptr) { |
|
341
|
0 |
278 |
if (!regex_is_single_charclass(rx)) |
|
348
|
24 |
254 |
if (!parse_simple_charclass(aTHX_ cset, qr_ref)) { |
|
351
|
96 |
24 |
for (i= 0; i < sizeof(cset->bitmap)/sizeof(cset->bitmap[0]); i++) |