| line |
true |
false |
branch |
|
49
|
5 |
442 |
if (*str_size <= needed) { |
|
50
|
5 |
5 |
while (*str_size <= needed) { |
|
53
|
5 |
0 |
SvGROW(sv, *str_size); |
|
|
5 |
0 |
SvGROW(sv, *str_size); |
|
64
|
864 |
447 |
for (j = 0; j < slen - 1; ++j) { |
|
85
|
286464 |
1119 |
for ( ix = 0; ix < 256; ++ix ) |
|
88
|
119667 |
56 |
for ( ix = 0; ix <= scan_top; ++ix ) { |
|
90
|
0 |
119667 |
if ( !ary[ix] ) |
|
93
|
118614 |
1053 |
if ( SvPOK( entry ) ) { |
|
96
|
118572 |
42 |
if ( slen == 1 ) { |
|
101
|
1024 |
29 |
} else if ( SvIOK( entry ) || SvNOK( entry ) ) { |
|
|
2 |
1022 |
} else if ( SvIOK( entry ) || SvNOK( entry ) ) { |
|
103
|
28 |
3 |
if ( val >= 0 && val <= 255 ) { |
|
|
25 |
3 |
if ( val >= 0 && val <= 255 ) { |
|
109
|
1021 |
1 |
else if ( IS_CODEREF( entry ) ) { |
|
|
1021 |
0 |
else if ( IS_CODEREF( entry ) ) { |
|
124
|
3 |
30 |
if ( len == 0 ) { |
|
126
|
1 |
2 |
PROPAGATE_TAINT(sv, reply); |
|
|
1 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
|
1 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
133
|
80 |
6 |
while ( len > 0 && IS_SPACE( (unsigned char) *str) ) { |
|
|
34 |
46 |
while ( len > 0 && IS_SPACE( (unsigned char) *str) ) { |
|
|
5 |
41 |
while ( len > 0 && IS_SPACE( (unsigned char) *str) ) { |
|
|
4 |
37 |
while ( len > 0 && IS_SPACE( (unsigned char) *str) ) { |
|
|
5 |
32 |
while ( len > 0 && IS_SPACE( (unsigned char) *str) ) { |
|
|
3 |
29 |
while ( len > 0 && IS_SPACE( (unsigned char) *str) ) { |
|
|
5 |
24 |
while ( len > 0 && IS_SPACE( (unsigned char) *str) ) { |
|
139
|
63 |
6 |
while (end > str && IS_SPACE( (unsigned char) *end) ) { |
|
|
24 |
39 |
while (end > str && IS_SPACE( (unsigned char) *end) ) { |
|
|
3 |
36 |
while (end > str && IS_SPACE( (unsigned char) *end) ) { |
|
|
4 |
32 |
while (end > str && IS_SPACE( (unsigned char) *end) ) { |
|
|
3 |
29 |
while (end > str && IS_SPACE( (unsigned char) *end) ) { |
|
|
3 |
26 |
while (end > str && IS_SPACE( (unsigned char) *end) ) { |
|
|
2 |
24 |
while (end > str && IS_SPACE( (unsigned char) *end) ) { |
|
145
|
4 |
26 |
PROPAGATE_TAINT(sv, reply); |
|
|
4 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
|
4 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
169
|
2 |
29 |
if ( len == 0 ) |
|
175
|
76 |
3 |
while ( lead < len && IS_SPACE( (unsigned char) str[lead] ) ) |
|
|
36 |
40 |
while ( lead < len && IS_SPACE( (unsigned char) str[lead] ) ) |
|
|
4 |
36 |
while ( lead < len && IS_SPACE( (unsigned char) str[lead] ) ) |
|
|
3 |
33 |
while ( lead < len && IS_SPACE( (unsigned char) str[lead] ) ) |
|
|
4 |
29 |
while ( lead < len && IS_SPACE( (unsigned char) str[lead] ) ) |
|
|
3 |
26 |
while ( lead < len && IS_SPACE( (unsigned char) str[lead] ) ) |
|
|
0 |
26 |
while ( lead < len && IS_SPACE( (unsigned char) str[lead] ) ) |
|
179
|
64 |
5 |
while ( end > (str + lead) && IS_SPACE( (unsigned char) *end ) ) { |
|
|
27 |
37 |
while ( end > (str + lead) && IS_SPACE( (unsigned char) *end ) ) { |
|
|
5 |
32 |
while ( end > (str + lead) && IS_SPACE( (unsigned char) *end ) ) { |
|
|
3 |
29 |
while ( end > (str + lead) && IS_SPACE( (unsigned char) *end ) ) { |
|
|
3 |
26 |
while ( end > (str + lead) && IS_SPACE( (unsigned char) *end ) ) { |
|
|
2 |
24 |
while ( end > (str + lead) && IS_SPACE( (unsigned char) *end ) ) { |
|
|
0 |
24 |
while ( end > (str + lead) && IS_SPACE( (unsigned char) *end ) ) { |
|
184
|
6 |
23 |
if ( lead == 0 && trail == 0 ) |
|
|
5 |
1 |
if ( lead == 0 && trail == 0 ) |
|
188
|
20 |
4 |
if ( trail ) { |
|
194
|
23 |
1 |
if ( lead ) |
|
197
|
1 |
23 |
SvSETMAGIC(sv); |
|
216
|
1103 |
0 |
if ( !map || SvTYPE(map) != SVt_RV || SvTYPE(SvRV(map)) != SVt_PVAV |
|
|
1101 |
2 |
if ( !map || SvTYPE(map) != SVt_RV || SvTYPE(SvRV(map)) != SVt_PVAV |
|
|
1101 |
0 |
if ( !map || SvTYPE(map) != SVt_RV || SvTYPE(SvRV(map)) != SVt_PVAV |
|
217
|
0 |
1101 |
|| AvFILL( SvRV(map) ) < 0 |
|
|
0 |
0 |
|| AvFILL( SvRV(map) ) < 0 |
|
|
2 |
1099 |
|| AvFILL( SvRV(map) ) < 0 |
|
221
|
2 |
2 |
PROPAGATE_TAINT(sv, reply); |
|
|
2 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
|
2 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
231
|
0 |
1099 |
map_top = AvFILL(mapav); |
|
242
|
39 |
1060 |
if ( _build_fast_map( fast_map, ary, map_top ) ) { |
|
247
|
32 |
7 |
if ( !is_utf8 ) { |
|
249
|
918 |
32 |
for ( i = 0; i < len; ++i ) |
|
257
|
40 |
7 |
for ( i = 0; i < len; ++i, ++out ) { |
|
259
|
22 |
18 |
if ( c >= 0x80 ) { |
|
260
|
22 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
22 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
21 |
1 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
21 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
21 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
262
|
0 |
22 |
if ( i + seq_len > len ) seq_len = len - i; |
|
263
|
46 |
22 |
for ( k = 0; k < seq_len; ++k ) |
|
276
|
7 |
32 |
if ( SvUTF8(sv) ) |
|
278
|
3 |
36 |
PROPAGATE_TAINT(sv, reply); |
|
|
3 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
|
3 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
292
|
1610 |
59 |
for ( i = 0; i < len; ++i, ++ptr, ++ix_newstr ) { |
|
303
|
148 |
1462 |
if ( is_utf8 && c >= 0x80 ) { |
|
|
59 |
89 |
if ( is_utf8 && c >= 0x80 ) { |
|
304
|
59 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
59 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
59 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
58 |
1 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
58 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
307
|
0 |
59 |
if ( i + seq_len > len ) seq_len = len - i; |
|
310
|
0 |
59 |
if ( str_size <= (ix_newstr + seq_len + 1) ) { |
|
311
|
0 |
0 |
while ( str_size <= (ix_newstr + seq_len + 1) ) |
|
313
|
0 |
0 |
SvGROW( reply, str_size ); |
|
|
0 |
0 |
SvGROW( reply, str_size ); |
|
321
|
60 |
59 |
for ( k = 1; k < seq_len; ++k ) { |
|
330
|
1551 |
0 |
if ( ix > map_top |
|
331
|
0 |
1551 |
|| !ary[ix] |
|
336
|
415 |
1136 |
if ( SvPOK( entry ) ) { |
|
339
|
97 |
318 |
if ( slen == 0 ) { |
|
346
|
1133 |
3 |
} else if ( SvIOK( entry ) || SvNOK( entry ) ) { |
|
|
0 |
1133 |
} else if ( SvIOK( entry ) || SvNOK( entry ) ) { |
|
349
|
3 |
0 |
if ( val >= 0 && val <= 255 ) { |
|
|
3 |
0 |
if ( val >= 0 && val <= 255 ) { |
|
353
|
1133 |
0 |
} else if ( IS_CODEREF( entry ) ) { |
|
|
1133 |
0 |
} else if ( IS_CODEREF( entry ) ) { |
|
364
|
1 |
1132 |
if ( is_utf8 ) |
|
367
|
2 |
1131 |
if ( SvTAINTED(sv) ) |
|
|
2 |
0 |
if ( SvTAINTED(sv) ) |
|
368
|
2 |
0 |
SvTAINTED_on( arg ); |
|
374
|
0 |
1133 |
PUSHMARK(SP); |
|
375
|
0 |
1133 |
XPUSHs( arg ); |
|
382
|
1133 |
0 |
if ( SvTRUE( ERRSV ) ) { |
|
|
1001 |
132 |
if ( SvTRUE( ERRSV ) ) { |
|
387
|
1001 |
0 |
FREETMPS; |
|
390
|
1001 |
0 |
croak_sv( ERRSV ); |
|
393
|
132 |
0 |
if ( count == 1 ) { |
|
395
|
131 |
1 |
if ( SvOK( result ) ) { |
|
400
|
2 |
129 |
if ( slen == 0 ) { |
|
411
|
132 |
0 |
FREETMPS; |
|
419
|
10 |
49 |
if ( SvUTF8(sv) ) |
|
421
|
4 |
55 |
PROPAGATE_TAINT(sv, reply); |
|
|
4 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
|
4 |
0 |
PROPAGATE_TAINT(sv, reply); |
|
447
|
22 |
0 |
if ( !map || SvTYPE(map) != SVt_RV || SvTYPE(SvRV(map)) != SVt_PVAV |
|
|
21 |
1 |
if ( !map || SvTYPE(map) != SVt_RV || SvTYPE(SvRV(map)) != SVt_PVAV |
|
|
21 |
0 |
if ( !map || SvTYPE(map) != SVt_RV || SvTYPE(SvRV(map)) != SVt_PVAV |
|
448
|
0 |
21 |
|| AvFILL( SvRV(map) ) < 0 |
|
|
0 |
0 |
|| AvFILL( SvRV(map) ) < 0 |
|
|
1 |
20 |
|| AvFILL( SvRV(map) ) < 0 |
|
460
|
0 |
20 |
map_top = AvFILL(mapav); |
|
471
|
17 |
3 |
if ( _build_fast_map( fast_map, ary, map_top ) ) { |
|
472
|
14 |
3 |
if ( !is_utf8 ) { |
|
473
|
300 |
14 |
for ( i = 0; i < len; ++i ) { |
|
475
|
229 |
71 |
if ( str[i] != replacement ) { |
|
481
|
11 |
3 |
for ( i = 0; i < len; ++i ) { |
|
483
|
3 |
8 |
if ( c >= 0x80 ) { |
|
484
|
3 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
3 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
2 |
1 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
1 |
1 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
1 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
485
|
0 |
3 |
if ( i + seq_len > len ) seq_len = len - i; |
|
491
|
5 |
3 |
if ( str[i] != replacement ) { |
|
498
|
14 |
3 |
if ( count ) |
|
499
|
1 |
13 |
SvSETMAGIC(sv); |
|
505
|
3 |
0 |
for ( i = 0; i < len; ++i ) { |
|
510
|
0 |
3 |
if ( is_utf8 && c >= 0x80 ) { |
|
|
0 |
0 |
if ( is_utf8 && c >= 0x80 ) { |
|
511
|
0 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
0 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
0 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
0 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
|
0 |
0 |
STRLEN seq_len = UTF8_SEQ_LEN(c); |
|
512
|
0 |
0 |
if ( i + seq_len > len ) seq_len = len - i; |
|
517
|
3 |
0 |
if ( ix > map_top || !ary[ix] ) |
|
|
0 |
3 |
if ( ix > map_top || !ary[ix] ) |
|
522
|
2 |
1 |
if ( SvPOK( entry ) ) { |
|
525
|
0 |
2 |
if ( slen == 1 ) { |
|
526
|
0 |
0 |
if ( str[i] != replace[0] ) { |
|
534
|
1 |
0 |
} else if ( SvIOK( entry ) || SvNOK( entry ) ) { |
|
|
0 |
1 |
} else if ( SvIOK( entry ) || SvNOK( entry ) ) { |
|
536
|
0 |
0 |
if ( val >= 0 && val <= 255 ) { |
|
|
0 |
0 |
if ( val >= 0 && val <= 255 ) { |
|
537
|
0 |
0 |
if ( str[i] != (char) val ) { |
|
543
|
1 |
0 |
} else if ( IS_CODEREF( entry ) ) { |
|
|
1 |
0 |
} else if ( IS_CODEREF( entry ) ) { |
|
550
|
0 |
0 |
if ( count ) |
|
551
|
0 |
0 |
SvSETMAGIC(sv); |
|
562
|
1106 |
0 |
if ( sv && SvPOK(sv) ) { |
|
|
1103 |
3 |
if ( sv && SvPOK(sv) ) { |
|
574
|
36 |
0 |
if ( sv && SvPOK(sv) ) { |
|
|
33 |
3 |
if ( sv && SvPOK(sv) ) { |
|
587
|
24 |
0 |
if ( sv && SvPOK(sv) ) { |
|
|
22 |
2 |
if ( sv && SvPOK(sv) ) { |
|
599
|
33 |
0 |
if ( sv && SvPOK(sv) ) { |
|
|
31 |
2 |
if ( sv && SvPOK(sv) ) { |