| line |
true |
false |
branch |
|
127
|
184 |
899 |
if (ret_cc) |
|
137
|
10 |
1516 |
if (OVER_UTF_MAX(uv)) |
|
140
|
5 |
1511 |
if (! plane) |
|
143
|
1264 |
247 |
return row ? row[uv & 0xff] : NULL; |
|
149
|
6 |
423 |
if (OVER_UTF_MAX(uv)) |
|
152
|
3 |
420 |
if (! plane) |
|
155
|
397 |
23 |
return row ? row[uv & 0xff] : NULL; |
|
162
|
429 |
9 |
if (!uv2 || OVER_UTF_MAX(uv) || OVER_UTF_MAX(uv2)) |
|
|
429 |
0 |
if (!uv2 || OVER_UTF_MAX(uv) || OVER_UTF_MAX(uv2)) |
|
|
0 |
429 |
if (!uv2 || OVER_UTF_MAX(uv) || OVER_UTF_MAX(uv2)) |
|
165
|
237 |
192 |
if (Hangul_IsL(uv) && Hangul_IsV(uv2)) { |
|
|
77 |
160 |
if (Hangul_IsL(uv) && Hangul_IsV(uv2)) { |
|
|
69 |
8 |
if (Hangul_IsL(uv) && Hangul_IsV(uv2)) { |
|
|
68 |
1 |
if (Hangul_IsL(uv) && Hangul_IsV(uv2)) { |
|
171
|
65 |
296 |
if (Hangul_IsLV(uv) && Hangul_IsT(uv2)) { |
|
|
65 |
0 |
if (Hangul_IsLV(uv) && Hangul_IsT(uv2)) { |
|
|
56 |
9 |
if (Hangul_IsLV(uv) && Hangul_IsT(uv2)) { |
|
|
46 |
10 |
if (Hangul_IsLV(uv) && Hangul_IsT(uv2)) { |
|
|
44 |
2 |
if (Hangul_IsLV(uv) && Hangul_IsT(uv2)) { |
|
176
|
0 |
317 |
if (! plane) |
|
179
|
38 |
279 |
if (! row) |
|
182
|
122 |
157 |
if (! cell) |
|
184
|
832 |
76 |
for (i = cell; i->nextchar; i++) { |
|
185
|
81 |
751 |
if (uv2 == i->nextchar) |
|
194
|
22 |
2957 |
if (OVER_UTF_MAX(uv)) |
|
197
|
11 |
2946 |
if (! plane) |
|
200
|
1754 |
1192 |
return row ? row[uv & 0xff] : 0; |
|
210
|
233 |
0 |
if (! Hangul_IsS(uv)) |
|
|
0 |
233 |
if (! Hangul_IsS(uv)) |
|
215
|
10 |
223 |
if (tindex) |
|
224
|
660 |
11 |
s = SvPV(sv,len); |
|
225
|
95 |
576 |
if (!SvUTF8(sv)) { |
|
227
|
0 |
95 |
if (!SvPOK(tmpsv)) |
|
228
|
0 |
0 |
s = SvPV_force(tmpsv,len); |
|
230
|
95 |
0 |
s = SvPV(tmpsv,len); |
|
232
|
671 |
0 |
if (lp) |
|
245
|
1778 |
405 |
while (p < e) { |
|
248
|
0 |
1778 |
if (!retlen) |
|
252
|
337 |
1441 |
if (Hangul_IsS(uv)) { |
|
|
225 |
112 |
if (Hangul_IsS(uv)) { |
|
253
|
63 |
162 |
Renew_d_if_not_enough_to(UTF8_MAXLEN * 3) |
|
257
|
321 |
1232 |
U8* r = iscompat ? dec_compat(uv) : dec_canonical(uv); |
|
259
|
265 |
1288 |
if (r) { |
|
261
|
95 |
170 |
Renew_d_if_not_enough_to(len) |
|
262
|
1417 |
265 |
while (len--) |
|
266
|
324 |
964 |
Renew_d_if_not_enough_to(UTF8_MAXLEN) |
|
289
|
1411 |
380 |
while (p < e) { |
|
293
|
0 |
1411 |
if (!retlen) |
|
299
|
734 |
677 |
if (curCC != 0) { |
|
300
|
54 |
680 |
if (seq_max < cc_pos + 1) { /* extend if need */ |
|
302
|
12 |
42 |
if (CC_SEQ_SIZE == cc_pos) { /* seq_ary full */ |
|
304
|
0 |
12 |
New(0, seq_ext, seq_max, UNF_cc); |
|
305
|
120 |
12 |
for (i = 0; i < cc_pos; i++) |
|
309
|
0 |
42 |
Renew(seq_ext, seq_max, UNF_cc); |
|
319
|
635 |
99 |
if (p < e) |
|
324
|
217 |
559 |
if (cc_pos) { |
|
327
|
101 |
116 |
if (cc_pos > 1) /* reordered if there are two c.c.'s */ |
|
330
|
734 |
217 |
for (i = 0; i < cc_pos; i++) { |
|
331
|
51 |
683 |
Renew_d_if_not_enough_to(UTF8_MAXLEN) |
|
337
|
677 |
99 |
if (curCC == 0) { |
|
338
|
314 |
363 |
Renew_d_if_not_enough_to(UTF8_MAXLEN) |
|
342
|
12 |
368 |
if (seq_ext) |
|
366
|
1063 |
273 |
while (p < e) { |
|
370
|
0 |
1063 |
if (!retlen) |
|
376
|
294 |
769 |
if (!valid_uvS) { |
|
377
|
259 |
35 |
if (curCC == 0) { |
|
380
|
182 |
77 |
if (p < e) |
|
384
|
28 |
7 |
Renew_d_if_not_enough_to(UTF8_MAXLEN) |
|
393
|
184 |
585 |
if ((iscontig && cc_pos) || /* discontiguous combination */ |
|
|
51 |
133 |
if ((iscontig && cc_pos) || /* discontiguous combination */ |
|
|
387 |
249 |
if ((iscontig && cc_pos) || /* discontiguous combination */ |
|
394
|
205 |
182 |
(curCC != 0 && preCC == curCC) || /* blocked by same CC */ |
|
|
37 |
417 |
(curCC != 0 && preCC == curCC) || /* blocked by same CC */ |
|
406
|
184 |
233 |
if (uvComp && !isExclusion(uvComp)) { |
|
|
184 |
0 |
if (uvComp && !isExclusion(uvComp)) { |
|
412
|
120 |
64 |
if (p < e) |
|
419
|
585 |
64 |
if (!composed) { |
|
421
|
147 |
438 |
if (curCC != 0 || !(p < e)) { |
|
|
68 |
79 |
if (curCC != 0 || !(p < e)) { |
|
422
|
50 |
456 |
if (seq_max < cc_pos + 1) { /* extend if need */ |
|
424
|
10 |
40 |
if (CC_SEQ_SIZE == cc_pos) { /* seq_ary full */ |
|
425
|
0 |
10 |
New(0, seq_ext, seq_max, UV); |
|
426
|
0 |
10 |
Copy(seq_ary, seq_ext, cc_pos, UV); |
|
429
|
0 |
40 |
Renew(seq_ext, seq_max, UV); |
|
436
|
438 |
147 |
if (curCC != 0 && p < e) |
|
|
388 |
50 |
if (curCC != 0 && p < e) |
|
443
|
217 |
121 |
Renew_d_if_not_enough_to(UTF8_MAXLEN) |
|
447
|
137 |
201 |
if (cc_pos) { |
|
450
|
506 |
137 |
for (i = 0; i < cc_pos; i++) { |
|
451
|
12 |
494 |
Renew_d_if_not_enough_to(UTF8_MAXLEN) |
|
459
|
10 |
263 |
if (seq_ext) |
|
481
|
48 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
48 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
48 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
32 |
16 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
32 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
32 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
32 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
32 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
16 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
16 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
16 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
16 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
|
0 |
0 |
dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat)); |
|
638
|
61 |
12 |
for (p = s; p < e; p += retlen) { |
|
640
|
0 |
61 |
if (!retlen) |
|
644
|
1 |
60 |
if (preCC > curCC && curCC != 0) { /* canonical ordering violated */ |
|
|
0 |
1 |
if (preCC > curCC && curCC != 0) { /* canonical ordering violated */ |
|
648
|
6 |
55 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) { |
|
|
6 |
0 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) { |
|
|
28 |
33 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) { |
|
|
7 |
21 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) { |
|
|
4 |
29 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) { |
|
654
|
12 |
11 |
RETVAL = boolSV(result); |
|
675
|
103 |
25 |
for (p = s; p < e; p += retlen) { |
|
677
|
0 |
103 |
if (!retlen) |
|
681
|
4 |
99 |
if (preCC > curCC && curCC != 0) { /* canonical ordering violated */ |
|
|
2 |
2 |
if (preCC > curCC && curCC != 0) { /* canonical ordering violated */ |
|
687
|
10 |
91 |
if (Hangul_IsS(uv)) /* Hangul syllables are canonical composites */ |
|
|
3 |
7 |
if (Hangul_IsS(uv)) /* Hangul syllables are canonical composites */ |
|
689
|
98 |
0 |
else if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) { |
|
|
92 |
6 |
else if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) { |
|
|
0 |
92 |
else if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) { |
|
693
|
13 |
79 |
else if (isComp2nd(uv)) |
|
695
|
34 |
45 |
else if (ix) { |
|
700
|
9 |
25 |
if (compat && !(canon && strEQ(canon, compat))) { |
|
|
5 |
4 |
if (compat && !(canon && strEQ(canon, compat))) { |
|
|
0 |
5 |
if (compat && !(canon && strEQ(canon, compat))) { |
|
708
|
10 |
27 |
if (isMAYBE && result) /* NO precedes MAYBE */ |
|
|
6 |
4 |
if (isMAYBE && result) /* NO precedes MAYBE */ |
|
710
|
19 |
12 |
RETVAL = boolSV(result); |
|
730
|
179 |
46 |
for (p = s; p < e; p += retlen) { |
|
735
|
0 |
179 |
if (!retlen) |
|
740
|
24 |
155 |
if (sCan) { |
|
744
|
0 |
24 |
if (!canret) |
|
753
|
104 |
75 |
if (curCC != 0 && curCC < preCC) { /* canonical ordering violated */ |
|
|
18 |
86 |
if (curCC != 0 && curCC < preCC) { /* canonical ordering violated */ |
|
758
|
21 |
140 |
if (ix) { |
|
759
|
21 |
0 |
if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) { |
|
|
18 |
3 |
if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) { |
|
|
0 |
18 |
if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) { |
|
763
|
8 |
10 |
else if (isComp2nd(uv)) |
|
767
|
21 |
137 |
if (sCan) { |
|
772
|
0 |
21 |
if (pCan < sCan) |
|
775
|
0 |
21 |
if (!canret) |
|
783
|
7 |
60 |
if (isMAYBE && result) /* NO precedes MAYBE */ |
|
|
5 |
2 |
if (isMAYBE && result) /* NO precedes MAYBE */ |
|
785
|
41 |
21 |
RETVAL = boolSV(result); |
|
829
|
8 |
36 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) |
|
|
6 |
2 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) |
|
|
21 |
21 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) |
|
|
14 |
7 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) |
|
|
12 |
9 |
if (Hangul_IsS(uv) || (ix ? dec_compat(uv) : dec_canonical(uv))) |
|
831
|
28 |
16 |
RETVAL = boolSV(result); |
|
846
|
51 |
15 |
if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) |
|
|
39 |
12 |
if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) |
|
|
6 |
33 |
if (isExclusion(uv) || isSingleton(uv) || isNonStDecomp(uv)) |
|
848
|
11 |
22 |
else if (ix) { |
|
852
|
3 |
8 |
if (compat && (!canon || strNE(canon, compat))) |
|
|
1 |
2 |
if (compat && (!canon || strNE(canon, compat))) |
|
|
0 |
1 |
if (compat && (!canon || strNE(canon, compat))) |
|
855
|
35 |
31 |
RETVAL = boolSV(result); |
|
868
|
9 |
12 |
RETVAL = composite ? newSVuv(composite) : &PL_sv_undef; |
|
881
|
11 |
27 |
if (Hangul_IsS(uv)) { |
|
|
8 |
3 |
if (Hangul_IsS(uv)) { |
|
887
|
14 |
16 |
U8* rstr = ix ? dec_compat(uv) : dec_canonical(uv); |
|
888
|
8 |
22 |
if (!rstr) |
|
908
|
133 |
2 |
while (s < p) { |
|
911
|
0 |
133 |
if (p < s) |
|
914
|
74 |
59 |
if (getCombinClass(uv) == 0) /* Last Starter found */ |
|
920
|
0 |
76 |
XPUSHs(svp); |
|
924
|
0 |
76 |
XPUSHs(svp); |