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); |