line |
true |
false |
branch |
51
|
0 |
190 |
PUSHMARK(sp); |
52
|
0 |
190 |
XPUSHs(sv); |
53
|
190 |
190 |
while (enc->name[i]) { |
55
|
0 |
190 |
XPUSHs(sv_2mortal(newSVpvn(name, strlen(name)))); |
75
|
15 |
8 |
if (!modify) { |
78
|
4 |
11 |
if (SvTAINTED(*src)) |
|
0 |
4 |
if (SvTAINTED(*src)) |
79
|
0 |
0 |
SvTAINTED_on(tmp); |
83
|
23 |
0 |
if (*slen) { |
84
|
0 |
23 |
if (!utf8_to_bytes(*s, slen)) |
94
|
13 |
7 |
if (!modify) { |
96
|
3 |
10 |
if (SvTAINTED(*src)) |
|
0 |
3 |
if (SvTAINTED(*src)) |
97
|
0 |
0 |
SvTAINTED_on(tmp); |
101
|
18 |
2 |
*s = (U8 *)SvPV_nomg(*src, *slen); |
116
|
0 |
268 |
PUSHMARK(sp); |
117
|
0 |
268 |
XPUSHs(sv_2mortal(newSVuv(ch))); |
121
|
0 |
268 |
if (argc != 1){ |
127
|
268 |
0 |
FREETMPS; |
141
|
0 |
10 |
PUSHMARK(sp); |
142
|
14 |
10 |
for (i=0; i
|
143
|
0 |
14 |
XPUSHs(sv_2mortal(newSVuv(s[i]))); |
147
|
0 |
10 |
if (argc != 1){ |
153
|
10 |
0 |
FREETMPS; |
173
|
0 |
58864 |
U8 *trm = term ? (U8*) SvPV(term, trmlen) : NULL; |
|
0 |
0 |
U8 *trm = term ? (U8*) SvPV(term, trmlen) : NULL; |
175
|
235 |
58629 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
|
217 |
18 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
|
217 |
0 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
177
|
0 |
58864 |
if (offset) { |
179
|
0 |
0 |
if (slen > *offset){ /* safeguard against slen overflow */ |
187
|
0 |
58864 |
if (slen == 0){ |
193
|
3434 |
58711 |
while( (code = do_encode(dir, s, &slen, d, dlen, &dlen, !check, |
199
|
3434 |
0 |
if (code == ENCODE_FALLBACK || code == ENCODE_PARTIAL || |
|
3323 |
111 |
if (code == ENCODE_FALLBACK || code == ENCODE_PARTIAL || |
|
3323 |
0 |
if (code == ENCODE_FALLBACK || code == ENCODE_PARTIAL || |
216
|
1143 |
0 |
if (sdone != 0) { /* has src ever been processed ? */ |
228
|
1143 |
0 |
d = (U8 *) SvGROW(dst, SvLEN(dst) + more); |
|
1143 |
0 |
d = (U8 *) SvGROW(dst, SvLEN(dst) + more); |
230
|
0 |
1143 |
if (ddone >= SvLEN(dst)) { |
241
|
1577 |
603 |
if (dir == enc->f_utf8) { |
247
|
0 |
1577 |
if (clen > tlen - sdone - slen) break; |
248
|
1 |
1576 |
if (check & ENCODE_DIE_ON_ERR) { |
253
|
129 |
1447 |
if (check & ENCODE_WARN_ON_ERR){ |
257
|
2 |
1574 |
if (check & ENCODE_RETURN_ON_ERR){ |
260
|
1034 |
540 |
if (check & (ENCODE_PERLQQ|ENCODE_HTMLCREF|ENCODE_XMLCREF)){ |
266
|
136 |
898 |
: newSVpvf(check & ENCODE_PERLQQ ? "\\x{%04" UVxf "}" : |
|
260 |
638 |
: newSVpvf(check & ENCODE_PERLQQ ? "\\x{%04" UVxf "}" : |
|
131 |
129 |
: newSVpvf(check & ENCODE_PERLQQ ? "\\x{%04" UVxf "}" : |
269
|
1031 |
3 |
substr = SvPV(subchar, sublen); |
270
|
4 |
1030 |
if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */ |
|
4 |
0 |
if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */ |
|
0 |
4 |
if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */ |
287
|
0 |
603 |
if (check & ENCODE_DIE_ON_ERR){ |
292
|
0 |
603 |
if (check & ENCODE_WARN_ON_ERR){ |
298
|
39 |
564 |
if (check & ENCODE_RETURN_ON_ERR){ |
301
|
514 |
50 |
if (check & |
308
|
130 |
384 |
: newSVpvf("\\x%02" UVXf, (UV)s[slen]); |
309
|
0 |
514 |
substr = SvPVutf8(subchar, sublen); |
328
|
0 |
0 |
Perl_croak(aTHX_ "Unexpected code %d converting %s %s", |
335
|
18258 |
40605 |
if (check && !(check & ENCODE_LEAVE_SRC)){ |
|
18178 |
80 |
if (check && !(check & ENCODE_LEAVE_SRC)){ |
337
|
144 |
18034 |
if (sdone) { |
341
|
8 |
18170 |
SvSETMAGIC(src); |
357
|
0 |
58863 |
if (offset) |
362
|
0 |
58863 |
if (retcode) *retcode = code; |
372
|
31133 |
0 |
if (!sv || SvTYPE(sv) != SVt_PVHV) |
|
0 |
31133 |
if (!sv || SvTYPE(sv) != SVt_PVHV) |
376
|
76 |
31057 |
if (!svp) |
378
|
31057 |
0 |
return SvTRUE(*svp); |
|
0 |
31057 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
31057 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
31057 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
31057 |
0 |
return SvTRUE(*svp); |
|
31057 |
0 |
return SvTRUE(*svp); |
|
0 |
31057 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
|
31057 |
0 |
return SvTRUE(*svp); |
|
0 |
0 |
return SvTRUE(*svp); |
411
|
46362 |
12 |
uv = NATIVE_TO_UTF(*s) & UTF_START_MASK(UTF8SKIP(s)); |
416
|
92396 |
46212 |
while (len--) { |
417
|
162 |
92234 |
if (!UTF8_IS_CONTINUATION(*s)) { |
421
|
1 |
92233 |
if (uv & UTF_ACCUMULATION_OVERFLOW_MASK) |
429
|
46211 |
1 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
46194 |
17 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
45429 |
765 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
527 |
44902 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
18 |
509 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
4 |
14 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
0 |
4 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
0 |
0 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
|
21 |
46190 |
if (overflowed || *rlen > (STRLEN)UNISKIP(uv)) { |
449
|
14 |
31115 |
if (SvROK(check_sv)) { |
456
|
31115 |
0 |
check = SvIV_nomg(check_sv); |
462
|
31129 |
0 |
dlen = (s && e && s < e) ? e-s+1 : 1; |
|
31129 |
0 |
dlen = (s && e && s < e) ? e-s+1 : 1; |
|
31127 |
2 |
dlen = (s && e && s < e) ? e-s+1 : 1; |
463
|
31129 |
0 |
d = (U8 *) SvGROW(dst, dlen); |
|
0 |
31129 |
d = (U8 *) SvGROW(dst, dlen); |
465
|
112929 |
31040 |
while (s < e) { |
466
|
66382 |
46547 |
if (UTF8_IS_INVARIANT(*s)) { |
473
|
46393 |
154 |
if (! UTF8_IS_CONTINUATION(*s)) { |
479
|
56 |
46337 |
if ((s + skip) > e) { |
481
|
37 |
19 |
if (e-s >= 2) |
486
|
47 |
9 |
if ((stop_at_partial || (check & ENCODE_STOP_AT_PARTIAL)) && ulen == (STRLEN)(e-s)) |
|
0 |
47 |
if ((stop_at_partial || (check & ENCODE_STOP_AT_PARTIAL)) && ulen == (STRLEN)(e-s)) |
|
4 |
5 |
if ((stop_at_partial || (check & ENCODE_STOP_AT_PARTIAL)) && ulen == (STRLEN)(e-s)) |
493
|
155 |
46182 |
if (uv == 0) |
495
|
2527 |
43655 |
else if (strict && !UNICODE_IS_STRICT(uv)) |
|
2516 |
11 |
else if (strict && !UNICODE_IS_STRICT(uv)) |
|
718 |
1798 |
else if (strict && !UNICODE_IS_STRICT(uv)) |
|
718 |
0 |
else if (strict && !UNICODE_IS_STRICT(uv)) |
|
2498 |
18 |
else if (strict && !UNICODE_IS_STRICT(uv)) |
|
2497 |
1 |
else if (strict && !UNICODE_IS_STRICT(uv)) |
|
2497 |
18 |
else if (strict && !UNICODE_IS_STRICT(uv)) |
509
|
361 |
0 |
if (uv == 0) |
511
|
361 |
0 |
if (encode || ulen == 0) |
|
0 |
361 |
if (encode || ulen == 0) |
515
|
369 |
22 |
if (!encode && (check & (ENCODE_DIE_ON_ERR|ENCODE_WARN_ON_ERR|ENCODE_PERLQQ))) |
|
191 |
178 |
if (!encode && (check & (ENCODE_DIE_ON_ERR|ENCODE_WARN_ON_ERR|ENCODE_PERLQQ))) |
516
|
267 |
191 |
for (i=0; i
|
517
|
65 |
326 |
if (check & ENCODE_DIE_ON_ERR){ |
518
|
14 |
51 |
if (encode) |
519
|
14 |
0 |
Perl_croak(aTHX_ ERR_ENCODE_NOMAP, uv, (strict ? "UTF-8" : "utf8")); |
521
|
47 |
4 |
Perl_croak(aTHX_ ERR_DECODE_STR_NOMAP, (strict ? "UTF-8" : "utf8"), esc); |
523
|
129 |
197 |
if (check & ENCODE_WARN_ON_ERR){ |
524
|
0 |
129 |
if (encode) |
525
|
0 |
0 |
Perl_warner(aTHX_ packWARN(WARN_UTF8), |
528
|
0 |
129 |
Perl_warner(aTHX_ packWARN(WARN_UTF8), |
531
|
20 |
306 |
if (check & ENCODE_RETURN_ON_ERR) { |
534
|
14 |
292 |
if (check & (ENCODE_PERLQQ|ENCODE_HTMLCREF|ENCODE_XMLCREF)){ |
538
|
3 |
11 |
if (encode) { |
542
|
2 |
1 |
: newSVpvf(check & ENCODE_PERLQQ |
|
1 |
0 |
: newSVpvf(check & ENCODE_PERLQQ |
544
|
0 |
1 |
: check & ENCODE_HTMLCREF ? "%" UVuf ";" |
|
0 |
0 |
: check & ENCODE_HTMLCREF ? "%" UVuf ";" |
546
|
3 |
0 |
substr = SvPV(subchar, sublen); |
547
|
0 |
3 |
if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */ |
|
0 |
0 |
if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */ |
|
0 |
0 |
if (SvUTF8(subchar) && sublen && !utf8_to_bytes((U8 *)substr, &sublen)) { /* make sure no decoded string gets in */ |
552
|
10 |
1 |
if (fallback_cb != &PL_sv_undef) { |
558
|
0 |
1 |
if (check & (ENCODE_HTMLCREF|ENCODE_XMLCREF)) |
559
|
0 |
0 |
for (i=0; i
|
|
0 |
0 |
for (i=0; i
|
562
|
0 |
11 |
substr = SvPVutf8(subchar, sublen); |
569
|
14 |
0 |
d = (U8 *) SvGROW(dst, dlen) + SvCUR(dst); |
|
0 |
14 |
d = (U8 *) SvGROW(dst, dlen) + SvCUR(dst); |
573
|
42 |
250 |
if (SvLEN(dst) < dlen) { |
608
|
9 |
30538 |
SvGETMAGIC(src); |
|
0 |
9 |
SvGETMAGIC(src); |
609
|
0 |
30547 |
SvGETMAGIC(check_sv); |
|
0 |
0 |
SvGETMAGIC(check_sv); |
610
|
30537 |
10 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
|
30537 |
0 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
611
|
109 |
30438 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
|
94 |
15 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
613
|
4 |
30543 |
if (!SvOK(src)) |
|
4 |
0 |
if (!SvOK(src)) |
|
4 |
0 |
if (!SvOK(src)) |
615
|
93 |
30450 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
88 |
5 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
30444 |
6 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
616
|
10 |
30533 |
if (SvUTF8(src)) |
624
|
0 |
30543 |
PUSHMARK(sp); |
625
|
0 |
30543 |
XPUSHs(obj); |
627
|
30543 |
0 |
if (call_method("renewed",G_SCALAR) == 1) { |
629
|
30543 |
0 |
renewed = (bool)POPi; |
635
|
30543 |
0 |
FREETMPS; LEAVE; |
638
|
30541 |
2 |
dst = sv_2mortal(newSV(slen>0?slen:1)); /* newSV() abhors 0 -- inaba */ |
642
|
45 |
30447 |
if (modify) { |
644
|
22 |
23 |
if (slen) { |
648
|
2 |
43 |
SvSETMAGIC(src); |
651
|
6 |
30486 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
|
3 |
3 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
|
3 |
0 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
668
|
21 |
1313 |
SvGETMAGIC(src); |
|
0 |
21 |
SvGETMAGIC(src); |
669
|
0 |
1334 |
SvGETMAGIC(check_sv); |
|
0 |
0 |
SvGETMAGIC(check_sv); |
670
|
1330 |
4 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
|
1330 |
0 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
671
|
40 |
1294 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
|
26 |
14 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
673
|
5 |
1329 |
if (!SvOK(src)) |
|
5 |
0 |
if (!SvOK(src)) |
|
5 |
0 |
if (!SvOK(src)) |
675
|
24 |
1305 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
21 |
3 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
1287 |
18 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
677
|
1328 |
1 |
dst = sv_2mortal(newSV(slen>0?slen:1)); /* newSV() abhors 0 -- inaba */ |
678
|
590 |
739 |
if (SvUTF8(src)) { |
680
|
586 |
4 |
if (strict_utf8(aTHX_ obj)) { |
691
|
739 |
0 |
U8 *d = (U8 *) SvGROW(dst, 2*slen+1); /* +1 or assertion will botch */ |
|
10 |
729 |
U8 *d = (U8 *) SvGROW(dst, 2*slen+1); /* +1 or assertion will botch */ |
692
|
822 |
739 |
while (s < e) { |
699
|
813 |
9 |
if (UNI_IS_INVARIANT(uv)) |
712
|
11 |
1304 |
if (modify) { |
714
|
0 |
11 |
if (slen) { |
718
|
2 |
9 |
SvSETMAGIC(src); |
722
|
539 |
776 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
|
15 |
524 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
|
15 |
0 |
if (SvTAINTED(src)) SvTAINTED_on(dst); /* propagate taintedness */ |
754
|
807 |
0 |
enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); |
779
|
0 |
0 |
SvGETMAGIC(src); |
|
0 |
0 |
SvGETMAGIC(src); |
780
|
0 |
0 |
SvGETMAGIC(check_sv); |
|
0 |
0 |
SvGETMAGIC(check_sv); |
781
|
0 |
0 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
|
0 |
0 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
782
|
0 |
0 |
fallback_cb = SvROK(check_sv) ? check_sv : &PL_sv_undef; |
783
|
0 |
0 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
|
0 |
0 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
784
|
0 |
0 |
enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); |
785
|
0 |
0 |
offset = (STRLEN)SvIV(off); |
787
|
0 |
0 |
if (!SvOK(src)) |
|
0 |
0 |
if (!SvOK(src)) |
|
0 |
0 |
if (!SvOK(src)) |
789
|
0 |
0 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
0 |
0 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
0 |
0 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
790
|
0 |
0 |
if (SvUTF8(src)) |
814
|
122 |
23677 |
SvGETMAGIC(src); |
|
0 |
122 |
SvGETMAGIC(src); |
815
|
0 |
23799 |
SvGETMAGIC(check_sv); |
|
0 |
0 |
SvGETMAGIC(check_sv); |
816
|
23793 |
6 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
|
23785 |
8 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
817
|
6 |
23793 |
fallback_cb = SvROK(check_sv) ? check_sv : &PL_sv_undef; |
818
|
903 |
22896 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
|
845 |
58 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
819
|
23799 |
0 |
enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); |
821
|
107 |
23692 |
if (!SvOK(src)) |
|
107 |
0 |
if (!SvOK(src)) |
|
107 |
0 |
if (!SvOK(src)) |
823
|
843 |
22849 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
835 |
8 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
22733 |
116 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
824
|
13 |
23679 |
if (SvUTF8(src)) |
845
|
123 |
35156 |
SvGETMAGIC(src); |
|
0 |
123 |
SvGETMAGIC(src); |
846
|
0 |
35279 |
SvGETMAGIC(check_sv); |
|
0 |
0 |
SvGETMAGIC(check_sv); |
847
|
35270 |
9 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
|
35270 |
0 |
check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV_nomg(check_sv); |
848
|
9 |
35270 |
fallback_cb = SvROK(check_sv) ? check_sv : &PL_sv_undef; |
849
|
17360 |
17919 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
|
17338 |
22 |
modify = (check && !(check & ENCODE_LEAVE_SRC)); |
850
|
35279 |
0 |
enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); |
852
|
107 |
35172 |
if (!SvOK(src)) |
|
107 |
0 |
if (!SvOK(src)) |
|
107 |
0 |
if (!SvOK(src)) |
854
|
17336 |
17836 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
17330 |
6 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
|
17719 |
117 |
s = modify ? (U8 *)SvPV_force_nomg(src, slen) : (U8 *)SvPV_nomg(src, slen); |
855
|
20 |
35152 |
if (!SvUTF8(src)) |
879
|
8 |
0 |
RETVAL = SvTRUE(sv); |
|
0 |
8 |
RETVAL = SvTRUE(sv); |
|
0 |
0 |
RETVAL = SvTRUE(sv); |
|
0 |
8 |
RETVAL = SvTRUE(sv); |
|
0 |
0 |
RETVAL = SvTRUE(sv); |
|
0 |
0 |
RETVAL = SvTRUE(sv); |
|
7 |
1 |
RETVAL = SvTRUE(sv); |
|
7 |
0 |
RETVAL = SvTRUE(sv); |
|
7 |
0 |
RETVAL = SvTRUE(sv); |
|
7 |
0 |
RETVAL = SvTRUE(sv); |
|
7 |
0 |
RETVAL = SvTRUE(sv); |
|
7 |
0 |
RETVAL = SvTRUE(sv); |
|
1 |
0 |
RETVAL = SvTRUE(sv); |
|
1 |
0 |
RETVAL = SvTRUE(sv); |
|
0 |
1 |
RETVAL = SvTRUE(sv); |
|
0 |
0 |
RETVAL = SvTRUE(sv); |
|
0 |
0 |
RETVAL = SvTRUE(sv); |
|
1 |
0 |
RETVAL = SvTRUE(sv); |
|
0 |
0 |
RETVAL = SvTRUE(sv); |
889
|
110 |
0 |
enc = INT2PTR(encode_t *, SvIV(SvRV(obj))); |
893
|
0 |
110 |
PUSHMARK(sp); |
894
|
0 |
110 |
XPUSHs(sv_2mortal(newSVpvn(enc->name[0], strlen(enc->name[0])))); |
900
|
110 |
0 |
FREETMPS; |
915
|
0 |
0 |
encoding = items == 2 ? ST(1) : Nullsv; |
917
|
0 |
0 |
if (encoding) |
918
|
0 |
0 |
RETVAL = _encoded_bytes_to_utf8(sv, SvPV_nolen(encoding)); |
921
|
0 |
0 |
U8* s = (U8*)SvPV(sv, len); |
940
|
0 |
0 |
to = items > 1 ? ST(1) : Nullsv; |
941
|
0 |
0 |
check = items > 2 ? ST(2) : Nullsv; |
943
|
0 |
0 |
if (to) { |
944
|
0 |
0 |
RETVAL = _encoded_utf8_to_bytes(sv, SvPV_nolen(to)); |
947
|
0 |
0 |
U8 *s = (U8*)SvPV(sv, len); |
950
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
|
0 |
0 |
if (SvTRUE(check)) { |
961
|
0 |
0 |
while (s < send) { |
962
|
0 |
0 |
if (*s < 0x80){ |
970
|
0 |
0 |
if (!(uv & 0x40)){ goto failure; } |
971
|
0 |
0 |
if (!(uv & 0x20)) { ulen = 2; uv &= 0x1f; } |
972
|
0 |
0 |
else if (!(uv & 0x10)) { ulen = 3; uv &= 0x0f; } |
973
|
0 |
0 |
else if (!(uv & 0x08)) { ulen = 4; uv &= 0x07; } |
974
|
0 |
0 |
else if (!(uv & 0x04)) { ulen = 5; uv &= 0x03; } |
975
|
0 |
0 |
else if (!(uv & 0x02)) { ulen = 6; uv &= 0x01; } |
976
|
0 |
0 |
else if (!(uv & 0x01)) { ulen = 7; uv = 0; } |
980
|
0 |
0 |
while (ulen--) { |
981
|
0 |
0 |
if ((*s & 0xc0) != 0x80){ |
987
|
0 |
0 |
if (uv > 256) { |
999
|
0 |
0 |
RETVAL = (utf8_to_bytes(s, &len) ? len : 0); |
1013
|
13 |
641 |
SvGETMAGIC(sv); /* SvGETMAGIC() can modify SvOK flag */ |
|
0 |
13 |
SvGETMAGIC(sv); /* SvGETMAGIC() can modify SvOK flag */ |
1014
|
5 |
649 |
str = SvOK(sv) ? SvPV_nomg(sv, len) : NULL; /* SvPV() can modify SvUTF8 flag */ |
|
5 |
0 |
str = SvOK(sv) ? SvPV_nomg(sv, len) : NULL; /* SvPV() can modify SvUTF8 flag */ |
|
0 |
5 |
str = SvOK(sv) ? SvPV_nomg(sv, len) : NULL; /* SvPV() can modify SvUTF8 flag */ |
|
639 |
10 |
str = SvOK(sv) ? SvPV_nomg(sv, len) : NULL; /* SvPV() can modify SvUTF8 flag */ |
1016
|
60 |
594 |
if (RETVAL && check && (!str || !is_utf8_string((U8 *)str, len))) |
|
0 |
60 |
if (RETVAL && check && (!str || !is_utf8_string((U8 *)str, len))) |
|
0 |
0 |
if (RETVAL && check && (!str || !is_utf8_string((U8 *)str, len))) |
|
0 |
0 |
if (RETVAL && check && (!str || !is_utf8_string((U8 *)str, len))) |
1025
|
4 |
4 |
SvGETMAGIC(sv); |
|
0 |
4 |
SvGETMAGIC(sv); |
1026
|
4 |
4 |
if (!SvTAINTED(sv) && SvPOKp(sv)) { |
|
3 |
1 |
if (!SvTAINTED(sv) && SvPOKp(sv)) { |
|
6 |
1 |
if (!SvTAINTED(sv) && SvPOKp(sv)) { |
1027
|
5 |
1 |
if (SvTHINKFIRST(sv)) sv_force_normal(sv); |
1028
|
1 |
5 |
RETVAL = boolSV(SvUTF8(sv)); |
1030
|
2 |
4 |
SvSETMAGIC(sv); |
1041
|
4 |
2 |
SvGETMAGIC(sv); |
|
0 |
4 |
SvGETMAGIC(sv); |
1042
|
4 |
2 |
if (!SvTAINTED(sv) && SvPOKp(sv)) { |
|
3 |
1 |
if (!SvTAINTED(sv) && SvPOKp(sv)) { |
|
4 |
1 |
if (!SvTAINTED(sv) && SvPOKp(sv)) { |
1043
|
3 |
1 |
if (SvTHINKFIRST(sv)) sv_force_normal(sv); |
1044
|
3 |
1 |
RETVAL = boolSV(SvUTF8(sv)); |
1046
|
2 |
2 |
SvSETMAGIC(sv); |