Branch Coverage

utf8.c
Criterion Covered Total %
branch 1030 1790 57.5


line true false branch
69 0 266753 const U8* const send = s + (len ? len : strlen((const char *)s));
74 6424819 265684 for (; x < send; ++x) {
75 6423750 1069 if (!UTF8_IS_INVARIANT(*x))
103 2037672 2309243 if (UNI_IS_INVARIANT(uv)) {
109 473111 1836132 if (uv >= UNICODE_SURROGATE_FIRST
110 461939 11172 && ckWARN4_d(WARN_UTF8, WARN_SURROGATE, WARN_NON_UNICODE, WARN_NONCHAR))
112 2468 459471 if (UNICODE_IS_SURROGATE(uv)) {
113 0 2468 if (flags & UNICODE_WARN_SURROGATE) {
117 2468 0 if (flags & UNICODE_DISALLOW_SURROGATE) {
121 38744 420727 else if (UNICODE_IS_SUPER(uv)) {
122 38744 0 if (flags & UNICODE_WARN_SUPER
123 38381 363 || (UNICODE_IS_FE_FF(uv) && (flags & UNICODE_WARN_FE_FF)))
0 38381 || (UNICODE_IS_FE_FF(uv) && (flags & UNICODE_WARN_FE_FF)))
128 38744 0 if (flags & UNICODE_DISALLOW_SUPER
129 38381 363 || (UNICODE_IS_FE_FF(uv) && (flags & UNICODE_DISALLOW_FE_FF)))
38381 0 || (UNICODE_IS_FE_FF(uv) && (flags & UNICODE_DISALLOW_FE_FF)))
134 420693 34 else if (UNICODE_IS_NONCHAR(uv)) {
422 420271 else if (UNICODE_IS_NONCHAR(uv)) {
135 0 456 if (flags & UNICODE_WARN_NONCHAR) {
140 456 0 if (flags & UNICODE_DISALLOW_NONCHAR) {
158 737696 1571547 if (uv < 0x800) {
163 1421705 149842 if (uv < 0x10000) {
169 111398 38444 if (uv < 0x200000) {
176 16 38428 if (uv < 0x4000000) {
184 34 38394 if (uv < 0x80000000) {
194 17 38377 if (uv < UTF8_QUAD_MAX)
336 16 0 return (actual_len == (STRLEN) -1) ? 0 : actual_len;
360 205054 0 if (buf_end <= buf) {
365 0 205054 if (len > UTF8SKIP(buf)) {
370 205052 2 if (IS_UTF8_CHAR_FAST(len))
371 52 205000 return IS_UTF8_CHAR(buf, len) ? len : 0;
52 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 52 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 52 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 52 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
1 51 return IS_UTF8_CHAR(buf, len) ? len : 0;
1 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
1 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 1 return IS_UTF8_CHAR(buf, len) ? len : 0;
51 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
51 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
51 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 51 return IS_UTF8_CHAR(buf, len) ? len : 0;
197095 7905 return IS_UTF8_CHAR(buf, len) ? len : 0;
197095 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 197095 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
6634 190461 return IS_UTF8_CHAR(buf, len) ? len : 0;
6634 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 6634 return IS_UTF8_CHAR(buf, len) ? len : 0;
190461 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
190459 2 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 190459 return IS_UTF8_CHAR(buf, len) ? len : 0;
7901 4 return IS_UTF8_CHAR(buf, len) ? len : 0;
7901 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
7901 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 7901 return IS_UTF8_CHAR(buf, len) ? len : 0;
4 0 return IS_UTF8_CHAR(buf, len) ? len : 0;
0 4 return IS_UTF8_CHAR(buf, len) ? len : 0;
205050 2 return IS_UTF8_CHAR(buf, len) ? len : 0;
417 19 16326 const U8* const send = s + (len ? len : strlen((const char *)s));
422 369276 16333 while (x < send) {
424 221200 148076 if (UTF8_IS_INVARIANT(*x)) {
432 148072 4 if (next_char_ptr > send) {
436 148058 14 if (IS_UTF8_CHAR_FAST(c)) {
437 48930 99128 if (!IS_UTF8_CHAR(x, c))
48930 0 if (!IS_UTF8_CHAR(x, c))
0 48930 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 48930 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 48930 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
11284 37646 if (!IS_UTF8_CHAR(x, c))
11284 0 if (!IS_UTF8_CHAR(x, c))
11284 0 if (!IS_UTF8_CHAR(x, c))
0 11284 if (!IS_UTF8_CHAR(x, c))
37646 0 if (!IS_UTF8_CHAR(x, c))
37646 0 if (!IS_UTF8_CHAR(x, c))
37646 0 if (!IS_UTF8_CHAR(x, c))
0 37646 if (!IS_UTF8_CHAR(x, c))
41730 57398 if (!IS_UTF8_CHAR(x, c))
41730 0 if (!IS_UTF8_CHAR(x, c))
0 41730 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
8957 32773 if (!IS_UTF8_CHAR(x, c))
8957 0 if (!IS_UTF8_CHAR(x, c))
0 8957 if (!IS_UTF8_CHAR(x, c))
32773 0 if (!IS_UTF8_CHAR(x, c))
32770 3 if (!IS_UTF8_CHAR(x, c))
0 32770 if (!IS_UTF8_CHAR(x, c))
57393 5 if (!IS_UTF8_CHAR(x, c))
57393 0 if (!IS_UTF8_CHAR(x, c))
57393 0 if (!IS_UTF8_CHAR(x, c))
0 57393 if (!IS_UTF8_CHAR(x, c))
5 0 if (!IS_UTF8_CHAR(x, c))
5 0 if (!IS_UTF8_CHAR(x, c))
148050 8 if (!IS_UTF8_CHAR(x, c))
440 14 0 else if (! is_utf8_char_slow(x, c)) {
476 0 1145 const U8* const send = s + (len ? len : strlen((const char *)s));
483 47747 1140 while (x < send) {
487 44770 2977 if (UTF8_IS_INVARIANT(*x))
493 2974 3 if (next_char_ptr > send) {
496 2974 0 if (IS_UTF8_CHAR_FAST(c)) {
497 1 2973 if (!IS_UTF8_CHAR(x, c))
1 0 if (!IS_UTF8_CHAR(x, c))
0 1 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 1 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 1 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
1 0 if (!IS_UTF8_CHAR(x, c))
1 0 if (!IS_UTF8_CHAR(x, c))
1 0 if (!IS_UTF8_CHAR(x, c))
0 1 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
2546 427 if (!IS_UTF8_CHAR(x, c))
2546 0 if (!IS_UTF8_CHAR(x, c))
0 2546 if (!IS_UTF8_CHAR(x, c))
0 0 if (!IS_UTF8_CHAR(x, c))
258 2288 if (!IS_UTF8_CHAR(x, c))
258 0 if (!IS_UTF8_CHAR(x, c))
0 258 if (!IS_UTF8_CHAR(x, c))
2288 0 if (!IS_UTF8_CHAR(x, c))
2288 0 if (!IS_UTF8_CHAR(x, c))
0 2288 if (!IS_UTF8_CHAR(x, c))
426 1 if (!IS_UTF8_CHAR(x, c))
426 0 if (!IS_UTF8_CHAR(x, c))
425 1 if (!IS_UTF8_CHAR(x, c))
0 425 if (!IS_UTF8_CHAR(x, c))
1 0 if (!IS_UTF8_CHAR(x, c))
1 0 if (!IS_UTF8_CHAR(x, c))
2 2972 if (!IS_UTF8_CHAR(x, c))
501 2972 2 if (!c)
509 0 1145 if (el)
512 1145 0 if (ep)
639 5 8035829 if (UNLIKELY(curlen == 0)) {
640 5 0 if (retlen) {
644 4 1 if (flags & UTF8_ALLOW_EMPTY) {
647 2 2 if (! (flags & UTF8_CHECK_ONLY)) {
659 6973653 1062176 if (retlen) {
664 2204998 5830831 if (UTF8_IS_INVARIANT(uv)) {
669 99 2204899 if (UNLIKELY(UTF8_IS_CONTINUATION(uv))) {
670 1 98 if (flags & UTF8_ALLOW_CONTINUATION) {
671 1 0 if (retlen) {
677 97 1 if (! (flags & UTF8_CHECK_ONLY)) {
694 2170712 34187 uv &= UTF_START_MASK(expectlen);
701 3933030 2204634 for (s = s0 + 1; s < send; s++) {
702 3932765 265 if (LIKELY(UTF8_IS_CONTINUATION(*s))) {
704 46 3932719 if (uv & UTF_ACCUMULATION_OVERFLOW_MASK) {
747 265 2204634 if (UNLIKELY(unexpected_non_continuation)) {
748 263 2 if (!(flags & UTF8_ALLOW_NON_CONTINUATION)) {
749 136 127 if (! (flags & UTF8_CHECK_ONLY)) {
750 127 9 if (curlen == 1) {
764 2 0 if (retlen) {
768 22 2204612 else if (UNLIKELY(curlen < expectlen)) {
769 21 1 if (! (flags & UTF8_ALLOW_SHORT)) {
770 20 1 if (! (flags & UTF8_CHECK_ONLY)) {
771 12 8 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)curlen, curlen == 1 ? "" : "s", (int)expectlen, *s0));
777 1 0 if (retlen) {
783 34179 2170436 if ((*s0 & 0xFE) == 0xFE /* matches both FE, FF */
784 75 34104 && (flags & (UTF8_WARN_FE_FF|UTF8_DISALLOW_FE_FF)))
788 30 45 if ((flags & (UTF8_WARN_FE_FF|UTF8_CHECK_ONLY)) == UTF8_WARN_FE_FF
789 6 24 && ckWARN_d(WARN_UTF8))
798 15 60 if (flags & UTF8_DISALLOW_FE_FF) {
802 23 2204532 if (UNLIKELY(overflowed)) {
813 2204529 3 if (do_overlong_test
814 2204511 18 && expectlen > (STRLEN) OFFUNISKIP(uv)
1166132 1038379 && expectlen > (STRLEN) OFFUNISKIP(uv)
253924 912208 && expectlen > (STRLEN) OFFUNISKIP(uv)
34666 219258 && expectlen > (STRLEN) OFFUNISKIP(uv)
34133 533 && expectlen > (STRLEN) OFFUNISKIP(uv)
34096 37 && expectlen > (STRLEN) OFFUNISKIP(uv)
34055 41 && expectlen > (STRLEN) OFFUNISKIP(uv)
22 2204507 && expectlen > (STRLEN) OFFUNISKIP(uv)
815 21 1 && ! (flags & UTF8_ALLOW_LONG))
821 18 3 if (! (flags & UTF8_CHECK_ONLY)) {
822 4 14 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
3 1 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
2 1 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
1 1 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
0 1 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
0 0 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
0 0 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
18 0 sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", OFFUNISKIP(uv), *s0));
829 342724 1861787 if (uv >= UNICODE_SURROGATE_FIRST /* isn't problematic if < this */
830 3933 338791 && (flags & (UTF8_DISALLOW_ILLEGAL_INTERCHANGE
833 32 3901 if (UNICODE_IS_SURROGATE(uv)) {
834 10 22 if ((flags & (UTF8_WARN_SURROGATE|UTF8_CHECK_ONLY)) == UTF8_WARN_SURROGATE
835 4 6 && ckWARN2_d(WARN_UTF8, WARN_SURROGATE))
840 5 27 if (flags & UTF8_DISALLOW_SURROGATE) {
844 43 3858 else if ((uv > PERL_UNICODE_MAX)) {
845 10 33 if ((flags & (UTF8_WARN_SUPER|UTF8_CHECK_ONLY)) == UTF8_WARN_SUPER
846 4 6 && ckWARN2_d(WARN_UTF8, WARN_NON_UNICODE))
851 17 26 if (flags & UTF8_DISALLOW_SUPER) {
855 3833 25 else if (UNICODE_IS_NONCHAR(uv)) {
1 3832 else if (UNICODE_IS_NONCHAR(uv)) {
856 10 16 if ((flags & (UTF8_WARN_NONCHAR|UTF8_CHECK_ONLY)) == UTF8_WARN_NONCHAR
857 4 6 && ckWARN2_d(WARN_UTF8, WARN_NONCHAR))
862 5 21 if (flags & UTF8_DISALLOW_NONCHAR) {
867 8 3851 if (sv) {
908 299 191 if (sv && ckWARN_d(WARN_UTF8)) {
268 31 if (sv && ckWARN_d(WARN_UTF8)) {
914 219 345 if (flags & UTF8_CHECK_ONLY) {
915 219 0 if (retlen)
922 281 72 if (pack_warn) { /* was initialized to 0, and changed only
926 274 7 if (PL_op)
927 0 274 Perl_warner(aTHX_ pack_warn, "%s in %s", string, OP_DESC(PL_op));
0 0 Perl_warner(aTHX_ pack_warn, "%s in %s", string, OP_DESC(PL_op));
932 298 55 if (retlen) {
964 0 0 return utf8n_to_uvchr(s, send - s, retlen,
982 207469 3016659 if (retlen) {
987 2144580 1079548 if (expectlen == 1) {
997 2144561 19 uv &= UTF_START_MASK(expectlen);
1002 3284108 2144580 for (++s; s < send; s++) {
1037 0 0 return utf8_to_uvchr_buf(s, s + UTF8_MAXBYTES, retlen);
1071 0 0 return NATIVE_TO_UNI(Perl_utf8n_to_uvchr(aTHX_ s, send -s, retlen,
1142 3559503 0 if (e < s)
1144 311419562 3559503 while (s < e) {
1149 16 3559487 if (e != s) {
1152 16 0 if (PL_op)
1153 0 16 Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
1154 0 0 "%s in %s", unees, OP_DESC(PL_op));
1179 0 188708 return (a < b) ? -1 * (IV) utf8_length(a, b) : (IV) utf8_length(b, a);
1205 30202 705 if (off >= 0) {
1206 582019 30202 while (off--)
1210 1290 705 while (off++) {
1212 255 1290 while (UTF8_IS_CONTINUATION(*s))
1244 1927967 20987 while (b < bend && u < uend) {
1246 92554 1835413 if (!UTF8_IS_INVARIANT(c)) {
1247 59113 33441 if (UTF8_IS_DOWNGRADEABLE_START(c)) {
1248 59113 0 if (u < uend) {
1250 59113 0 if (UTF8_IS_CONTINUATION(c1)) {
1253 0 0 Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
0 0 Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
1260 0 0 PL_op ? OP_DESC(PL_op) : "");
0 0 PL_op ? OP_DESC(PL_op) : "");
1264 0 0 if (PL_op)
1265 0 0 Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
1266 0 0 "%s in %s", unees, OP_DESC(PL_op));
1275 82507 1812019 if (*b != c) {
1276 41086 41421 return *b < c ? -2 : +2;
1281 358 20629 if (b == bend && u == uend)
1284 12 346 return b < bend ? +1 : -1;
1310 379280 84849 while (s < send) {
1311 60577 318703 if (! UTF8_IS_INVARIANT(*s)) {
1312 60194 383 if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
60194 0 if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
0 60194 if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
1322 377573 84849 while (s < send) {
1324 60058 317515 if (! UTF8_IS_INVARIANT(c)) {
1361 1475156 0 if (!*is_utf8)
1365 3601375 667636 for (send = s + *len; s < send;) {
1366 811588 2789787 if (! UTF8_IS_INVARIANT(*s)) {
1367 4068 807520 if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
4068 0 if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
4068 0 if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, send)) {
1380 2592558 667636 while (s < send) {
1382 4037 2588521 if (! UTF8_IS_INVARIANT(c)) {
1427 5849500 106857 while (s < send) {
1450 3 14330 if (bytelen & 1)
1455 344143 14319 while (p < pend) {
1458 340034 4109 if (UNI_IS_INVARIANT(uv)) {
1462 60 4049 if (uv <= MAX_UTF8_TWO_BYTE) {
1471 3981 68 if (uv >= FIRST_HIGH_SURROGATE && uv <= LAST_HIGH_SURROGATE) {
1472 1 3980 if (p >= pend) {
1477 4 3976 if (low < FIRST_LOW_SURROGATE || low > LAST_LOW_SURROGATE)
1482 6 62 } else if (uv >= FIRST_LOW_SURROGATE && uv <= LAST_LOW_SURROGATE) {
1488 62 3976 if (uv < 0x10000) {
1517 7177 1 if (bytelen & 1)
1521 174064 7177 while (s < send) {
1613 0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
1619 0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
1649 0 0 return isCNTRL_L1(c);
0 0 return isCNTRL_L1(c);
1679 0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
1697 16146 15192 if (NATIVE_IS_INVARIANT(converted)) { /* No difference between the two for
1707 102 15090 if (UNLIKELY(converted == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS)) {
1765 256 17 if (c < 256) {
1780 256 17 if (c < 256) {
1797 15605 0 if (p != NULL) {
14227 0 if (p != NULL) {
256 0 if (p != NULL) {
1798 15605 0 if (NATIVE_IS_INVARIANT(converted)) {
0 14227 if (NATIVE_IS_INVARIANT(converted)) {
128 128 if (NATIVE_IS_INVARIANT(converted)) {
1818 256 9 if (c < 256) {
1842 1493459 20126 if (c == MICRO_SIGN) {
1845 223101 1270358 else if ((flags & FOLD_FLAGS_FULL) && c == LATIN_SMALL_LETTER_SHARP_S) {
1850 35420 187681 if (flags & FOLD_FLAGS_NOMIX_ASCII) {
1868 1183340 107144 if (NATIVE_IS_INVARIANT(converted)) {
1894 1382746 808826 if (c < 256) {
1899 52208 0 return (result > 256 && flags & FOLD_FLAGS_LOCALE)
1901 52208 1330538 : result;
1905 490574 318252 if ( ! (flags & (FOLD_FLAGS_LOCALE|FOLD_FLAGS_NOMIX_ASCII))) {
1907 87106 403468 return CALL_FOLD_CASE(p, p, lenp, flags & FOLD_FLAGS_FULL);
1920 0 0 if (c < 256) {
1921 0 0 return isALNUM_LC(c);
0 0 return isALNUM_LC(c);
0 0 return isALNUM_LC(c);
1929 0 0 if (c < 256) {
1930 0 0 return isALPHANUMERIC_LC(c);
0 0 return isALPHANUMERIC_LC(c);
1938 0 0 if (c < 256) {
1939 0 0 return isIDFIRST_LC(c);
0 0 return isIDFIRST_LC(c);
0 0 return isIDFIRST_LC(c);
1947 0 0 if (c < 256) {
1948 0 0 return isALPHA_LC(c);
0 0 return isALPHA_LC(c);
1956 0 0 if (c < 256) {
1957 0 0 return isASCII_LC(c);
0 0 return isASCII_LC(c);
1965 0 0 if (c < 256) {
1966 0 0 return isBLANK_LC(c);
0 0 return isBLANK_LC(c);
1968 0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
0 0 return isBLANK_uni(c);
1974 0 0 if (c < 256) {
1975 0 0 return isSPACE_LC(c);
0 0 return isSPACE_LC(c);
1977 0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
0 0 return isSPACE_uni(c);
1983 0 0 if (c < 256) {
1984 0 0 return isDIGIT_LC(c);
0 0 return isDIGIT_LC(c);
1992 0 0 if (c < 256) {
1993 0 0 return isUPPER_LC(c);
0 0 return isUPPER_LC(c);
2001 0 0 if (c < 256) {
2002 0 0 return isLOWER_LC(c);
0 0 return isLOWER_LC(c);
2010 0 0 if (c < 256) {
2011 0 0 return isCNTRL_LC(c);
0 0 return isCNTRL_LC(c);
2019 0 0 if (c < 256) {
2020 0 0 return isGRAPH_LC(c);
0 0 return isGRAPH_LC(c);
2028 0 0 if (c < 256) {
2029 0 0 return isPRINT_LC(c);
0 0 return isPRINT_LC(c);
2037 0 0 if (c < 256) {
2038 0 0 return isPUNCT_LC(c);
0 0 return isPUNCT_LC(c);
2046 0 0 if (c < 256) {
2047 0 0 return isXDIGIT_LC(c);
0 0 return isXDIGIT_LC(c);
2049 0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
0 0 return isXDIGIT_uni(c);
2106 2 205052 if (! is_utf8_char_buf(p, p + UTF8SKIP(p))) {
2107 2 0 if (ckWARN_d(WARN_UTF8)) {
2110 2 0 if (ckWARN(WARN_UTF8)) { /* This will output details as to the
2112 0 2 utf8_to_uvchr_buf(p, p + UTF8SKIP(p), NULL);
2117 319 204733 if (!*swash) {
2177 0 0 if (*p == '_')
2253 0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
0 0 return isBLANK_utf8(p);
2263 0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
0 0 return isSPACE_utf8(p);
2339 0 0 return isCNTRL_utf8(p);
0 0 return isCNTRL_utf8(p);
0 0 return isCNTRL_utf8(p);
0 0 return isCNTRL_utf8(p);
2379 0 0 return is_XDIGIT_utf8(p);
0 0 return is_XDIGIT_utf8(p);
0 0 return is_XDIGIT_utf8(p);
0 0 return is_XDIGIT_utf8(p);
0 0 return is_XDIGIT_utf8(p);
0 0 return is_XDIGIT_utf8(p);
0 0 return is_XDIGIT_utf8(p);
2441 293217 909840 if (uv1 >= UNICODE_SURROGATE_FIRST) {
2442 25 293192 if (uv1 <= UNICODE_SURROGATE_LAST) {
2443 18 7 if (ckWARN_d(WARN_SURROGATE)) {
2444 18 0 const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
0 18 const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
0 0 const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
2449 27 293165 else if (UNICODE_IS_SUPER(uv1)) {
2450 14 13 if (ckWARN_d(WARN_NON_UNICODE)) {
2451 14 0 const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
0 14 const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
0 0 const char* desc = (PL_op) ? OP_DESC(PL_op) : normal;
2461 50 1202991 if (!*swashp) /* load on-demand */
2464 1039135 163906 if (special) {
2470 1039135 0 if (hv &&
605193 433942 if (hv &&
2471 1039135 0 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
616201 422934 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
3278 612923 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
2 3276 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
2 0 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
2 0 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
0 2 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
605193 0 (svp = hv_fetch(hv, (const char*)p, UNISKIP(uv1), FALSE)) &&
2475 605193 0 s = SvPV_const(*svp, len);
2476 0 605193 if (len == 1)
2485 597848 605193 if (!len && *swashp) {
597848 0 if (!len && *swashp) {
2488 389642 208206 if (uv2) {
2494 994835 208206 if (len) {
2495 994835 0 if (lenp) {
2504 156994 51212 if (p != ustrp) { /* Don't copy onto itself */
2508 208197 9 if (lenp)
2537 35622 82126 if (result > 255) {
2543 2996 32626 while (s < e) {
2544 0 2996 if (! UTF8_IS_ABOVE_LATIN1(*s)) {
2583 14865 77021 if (UTF8_IS_INVARIANT(*p)) {
2584 0 14865 if (flags) {
2591 13991 63030 else if UTF8_IS_DOWNGRADEABLE_START(*p) {
2592 1 13990 if (flags) {
2593 1 0 result = toUPPER_LC(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)));
2603 0 63020 if (flags) {
2610 0 1 if (UTF8_IS_INVARIANT(result)) {
2620 1 0 if (tainted_ptr) {
2649 491 4607 if (UTF8_IS_INVARIANT(*p)) {
2650 0 491 if (flags) {
2657 393 4214 else if UTF8_IS_DOWNGRADEABLE_START(*p) {
2658 1 392 if (flags) {
2659 1 0 result = toUPPER_LC(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)));
2669 0 4211 if (flags) {
2676 0 1 if (UTF8_IS_INVARIANT(result)) {
2686 1 0 if (tainted_ptr) {
2713 15733 80495 if (UTF8_IS_INVARIANT(*p)) {
2714 128 15605 if (flags) {
2721 14357 66138 else if UTF8_IS_DOWNGRADEABLE_START(*p) {
2722 130 14227 if (flags) {
2723 130 0 result = toLOWER_LC(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)));
2733 0 66135 if (flags) {
2741 128 130 if (UTF8_IS_INVARIANT(result)) {
2751 258 0 if (tainted_ptr) {
2790 34238 606953 if (UTF8_IS_INVARIANT(*p)) {
2791 128 34110 if (flags & FOLD_FLAGS_LOCALE) {
2799 27895 579058 else if UTF8_IS_DOWNGRADEABLE_START(*p) {
2800 128 27767 if (flags & FOLD_FLAGS_LOCALE) {
2801 128 0 result = toFOLD_LC(TWO_BYTE_UTF8_TO_NATIVE(*p, *(p+1)));
2810 76800 502258 result = CALL_FOLD_CASE(p, ustrp, lenp, flags & FOLD_FLAGS_FULL);
2812 163623 415435 if (flags & FOLD_FLAGS_LOCALE) {
2816 129547 34076 if (UTF8SKIP(p) == sizeof(LATIN_CAPITAL_LETTER_SHARP_S_UTF8) - 1
2817 104660 24887 && memEQ((char *) p, LATIN_CAPITAL_LETTER_SHARP_S_UTF8,
2822 104660 34076 else if (UTF8SKIP(p) == sizeof(LATIN_SMALL_LIGATURE_LONG_S_T) - 1
2823 83672 20988 && memEQ((char *) p, LATIN_SMALL_LIGATURE_LONG_S_T_UTF8,
2830 156441 258994 else if (! (flags & FOLD_FLAGS_NOMIX_ASCII)) {
2844 159439 34094 while (s < e) {
2845 122347 37092 if (isASCII(*s)) {
2851 98165 24182 if (original == LATIN_CAPITAL_LETTER_SHARP_S
2856 77650 20515 else if (original == LATIN_SMALL_LIGATURE_LONG_S_T) {
2871 128 128 if (UTF8_IS_INVARIANT(result)) {
2881 256 0 if (tainted_ptr) {
2974 102902 215943 (flags_p && *flags_p & _CORE_SWASH_INIT_ACCEPT_INVLIST)
2977 318845 154 : -1; /* Never return just an inversion list */
2984 305952 13047 if (listsv != &PL_sv_undef || strNE(name, "")) {
103780 202172 if (listsv != &PL_sv_undef || strNE(name, "")) {
0 116827 if (listsv != &PL_sv_undef || strNE(name, "")) {
2994 115 116712 PUSHSTACKi(PERLSI_MAGIC);
3002 116213 614 if (PL_parser && PL_parser->error_count)
1 116212 if (PL_parser && PL_parser->error_count)
3005 552 116275 if (!method) { /* demand load utf8 */
3007 552 0 if ((errsv_save = GvSV(PL_errgv))) SAVEFREESV(errsv_save);
3025 552 0 if (!SvTRUE(errsv)) {
0 552 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 552 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
552 0 if (!SvTRUE(errsv)) {
552 0 if (!SvTRUE(errsv)) {
552 0 if (!SvTRUE(errsv)) {
0 552 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
552 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
3033 0 116827 PUSHMARK(SP);
3041 116827 0 if ((errsv_save = GvSV(PL_errgv))) SAVEFREESV(errsv_save);
3045 116275 552 if (method
116827 0 if (method
3055 2421 114406 if (!SvTRUE(errsv)) {
0 2421 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
1862 559 if (!SvTRUE(errsv)) {
1862 0 if (!SvTRUE(errsv)) {
0 1862 if (!SvTRUE(errsv)) {
559 0 if (!SvTRUE(errsv)) {
559 0 if (!SvTRUE(errsv)) {
559 0 if (!SvTRUE(errsv)) {
0 559 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
559 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
0 0 if (!SvTRUE(errsv)) {
3061 0 116827 POPSTACK;
3062 90729 26098 if (IN_PERL_COMPILETIME) {
3065 91698 25129 if (!SvROK(retval) || SvTYPE(SvRV(retval)) != SVt_PVHV) {
0 91698 if (!SvROK(retval) || SvTYPE(SvRV(retval)) != SVt_PVHV) {
3066 25129 0 if (SvPOK(retval))
3069 25129 0 if (flags_p && *flags_p & _CORE_SWASH_INIT_RETURN_IF_UNDEF) {
12563 12566 if (flags_p && *flags_p & _CORE_SWASH_INIT_RETURN_IF_UNDEF) {
3080 91698 202172 if (retval != &PL_sv_undef
3081 112 91586 && (minbits == 1 || (flags_p
0 112 && (minbits == 1 || (flags_p
3082 0 0 && ! (*flags_p
3090 91544 42 if (flags_p && ! (*flags_p & _CORE_SWASH_INIT_USER_DEFINED_PROPERTY)) {
91544 0 if (flags_p && ! (*flags_p & _CORE_SWASH_INIT_USER_DEFINED_PROPERTY)) {
3092 91544 0 if (user_defined && SvUV(*user_defined)) {
0 91544 if (user_defined && SvUV(*user_defined)) {
65 91479 if (user_defined && SvUV(*user_defined)) {
3099 293758 112 if (minbits == 1) {
3109 91586 202172 if (swash_hv) {
3111 88876 2710 if (swash_invlistsvp) {
3122 202501 91257 if (invlist) {
3127 329 202172 if (swash_invlist) {
3138 3275 198897 if ((int) _invlist_len(invlist) > invlist_swash_boundary) {
3149 204882 88876 if (! invlist_in_swash_is_valid
3150 5821 199061 && (int) _invlist_len(swash_invlist) > invlist_swash_boundary)
3152 0 5821 if (! hv_stores(MUTABLE_HV(SvRV(retval)), "V", swash_invlist))
3157 3275 2546 if (swash_invlist_unclaimed) swash_invlist_unclaimed = FALSE;
3162 199063 94695 if ((int) _invlist_len(swash_invlist) <= invlist_swash_boundary) {
3164 198899 164 if (!swash_invlist_unclaimed)
3234 718701 4048971 if (SvTYPE(hv) != SVt_PVHV) {
3235 718701 0 return _invlist_contains_cp((SV*)hv,
3248 4048971 0 if (!do_utf8 || UTF8_IS_INVARIANT(c)) {
7053 4041918 if (!do_utf8 || UTF8_IS_INVARIANT(c)) {
3253 1964 4039954 else if (UTF8_IS_DOWNGRADEABLE_START(c)) {
3306 4030373 18598 if (hv == PL_last_swash_hv &&
3995809 34564 if (hv == PL_last_swash_hv &&
3307 3991286 4523 klen == PL_last_swash_klen &&
3308 3911503 79783 (!klen || memEQ((char *)ptr, (char *)PL_last_swash_key, klen)) )
3318 122295 10650 if (!svp || !SvPOK(*svp)
122295 0 if (!svp || !SvPOK(*svp)
3319 122295 0 || !(tmps = (const U8*)SvPV_const(*svp, slen)))
0 122295 || !(tmps = (const U8*)SvPV_const(*svp, slen)))
3321 10369 281 if (klen) {
3332 2459 8191 if (IN_PERL_COMPILETIME)
3337 10650 0 if (!svp || !(tmps = (U8*)SvPV(*svp, slen))
10650 0 if (!svp || !(tmps = (U8*)SvPV(*svp, slen))
10650 0 if (!svp || !(tmps = (U8*)SvPV(*svp, slen))
3338 0 10650 || (slen << 3) < needents)
3350 128451 4494 if (klen)
3395 270716 880954 const int typeto = typestr[0] == 'T' && typestr[1] == 'o';
152 270564 const int typeto = typestr[0] == 'T' && typestr[1] == 'o';
3407 1151670 0 if (numlen) /* If found a hex number, position past it */
3409 0 0 else if (nl) { /* Else, go handle next line, if any */
3417 1151599 71 if (isBLANK(*l)) {
3424 701107 450492 if (numlen)
3431 270769 880830 if (wants_value) {
3432 270769 0 if (isBLANK(*l)) {
3437 270564 205 if (typeto) {
3449 0 205 if (numlen)
3457 0 0 if (typeto) {
3470 0 71 if (wants_value) {
3472 0 0 if (typeto) {
3482 1151634 36 if (nl)
3514 535 10115 if (invlistsvp == NULL) {
3522 0 535 bits = SvUV(*bitssvp);
3523 0 535 none = SvUV(*nonesvp);
3524 535 0 typestr = (U8*)SvPV_nolen(*typesvp);
3534 522 10128 if (bits != 1 && bits != 8 && bits != 16 && bits != 32) {
0 522 if (bits != 1 && bits != 8 && bits != 16 && bits != 32) {
3540 5 10645 if (end < start) {
3546 535 10115 scur = octets ? (span * octets) : (span + 7) / 8;
3550 115 10535 if (octets && none) {
3552 14272 115 while (s < e) {
3553 2176 12096 if (bits == 8)
3555 8320 3776 else if (bits == 16) {
3559 3776 0 else if (bits == 32) {
3574 10115 535 if (invlistsvp) { /* If has an inversion list set up use that */
3580 535 0 l = (U8*)SvPV(*listsvp, lcur);
3582 263209 535 while (l < lend) {
3586 263209 0 if (l > lend) {
3591 139743 123466 if (max < start)
3599 117479 5987 : (max != UV_MAX || end != UV_MAX)
3601 117479 0 : end;
3603 123466 0 if (octets) {
3605 58 123408 if (min < start) {
3606 27 31 if (!none || val < none) {
18 9 if (!none || val < none) {
3611 11498 123466 for (key = min; key <= upper; key++) {
3615 13 11485 if (bits == 8)
3617 1546 9939 else if (bits == 16) {
3621 9939 0 else if (bits == 32) {
3628 2913 8585 if (!none || val < none)
1573 1340 if (!none || val < none)
3634 0 0 if (min < start)
3637 0 0 for (key = min; key <= upper; key++) {
3645 420 115 if (invert_it_svp && SvUV(*invert_it_svp)) {
0 420 if (invert_it_svp && SvUV(*invert_it_svp)) {
0 420 if (invert_it_svp && SvUV(*invert_it_svp)) {
3650 0 0 if (start <= PERL_UNICODE_MAX) {
3660 0 0 while (s < send) {
3669 535 0 x = (U8*)SvPV(*extssvp, xcur);
3671 115 535 while (x < xend) {
3682 0 115 if (opc == '\n')
3687 115 0 if (opc != '-' && opc != '+' && opc != '!' && opc != '&') {
115 0 if (opc != '-' && opc != '+' && opc != '!' && opc != '&') {
3688 115 0 if (nl) {
3699 0 0 if (nl) {
3711 0 0 otherbits = (STRLEN)SvUV(*otherbitssvp);
3712 0 0 if (bits < otherbits)
3718 0 0 o = (U8*)SvPV(other, olen);
3720 0 0 if (!olen)
3723 0 0 s = (U8*)SvPV(swatch, slen);
3724 0 0 if (bits == 1 && otherbits == 1) {
3725 0 0 if (slen != olen)
3732 0 0 while (slen--)
3736 0 0 while (slen--)
3740 0 0 while (slen--)
3744 0 0 while (slen--)
3756 0 0 while (s < send) {
3759 0 0 if (otherbits == 1) {
3766 0 0 while (--vlen) {
3772 0 0 if (opc == '+' && otherval)
3774 0 0 else if (opc == '!' && !otherval)
3776 0 0 else if (opc == '-' && otherval)
3778 0 0 else if (opc == '&' && !otherval)
3785 0 0 if (bits == 8)
3787 0 0 else if (bits == 16) {
3791 0 0 else if (bits == 32) {
3857 12 0 const U8* const typestr = (U8*)SvPV_nolen(*typesvp);
3858 0 12 const STRLEN bits = SvUV(*bitssvp);
3860 0 12 const UV none = SvUV(*nonesvp);
3868 12 0 if (bits != 8 && bits != 16 && bits != 32) {
0 12 if (bits != 8 && bits != 16 && bits != 32) {
3873 12 0 if (specials_p) { /* It might be "special" (sometimes, but not always, a
3891 1248 12 while ((sv_to = hv_iternextsv(specials_hv, &char_from, &from_len))) {
3893 0 1248 if (! SvPOK(sv_to)) {
3903 372 876 if ((listp = hv_fetch(specials_inverse,
3911 0 876 if (! hv_store(specials_inverse,
3941 876 12 while ((from_list = (AV *) hv_iternextsv(specials_inverse,
3944 372 504 if (av_len(from_list) > 0) {
3949 744 372 for (i = 0; i <= av_len(from_list); i++) {
3953 0 744 if (entryp == NULL) {
3956 0 744 if (hv_fetch(ret, SvPVX(*entryp), SvCUR(*entryp), FALSE)) {
3959 744 0 if (! hv_store(ret, SvPVX(*entryp), SvCUR(*entryp),
3966 1488 744 for (j = 0; j <= av_len(from_list); j++) {
3968 0 1488 if (entryp == NULL) {
3973 0 1488 av_push(i_list, newSVuv(utf8_to_uvchr_buf(
3986 12 0 l = (U8*)SvPV(*listsvp, lcur);
3990 7560 12 while (l < lend) {
3995 7560 0 if (l > lend) {
4000 12660 7560 for (inverse = min; inverse <= max; inverse++) {
4013 588 12072 if ((listp = hv_fetch(ret, key, key_len, FALSE))) {
4018 0 12072 if (! hv_store(ret, key, key_len, (SV*) list, FALSE)) {
4025 1200 12324 for (i = 0; i <= av_len(list); i++) {
4028 0 1200 if (entryp == NULL) {
4033 0 1200 if (SvUV(entry) == val) {
588 612 if (SvUV(entry) == val) {
4036 0 1200 if (SvUV(entry) == inverse) {
336 864 if (SvUV(entry) == inverse) {
4042 1038 162 if (found_key && found_inverse) {
702 336 if (found_key && found_inverse) {
4048 12072 588 if (! found_key) {
4055 12324 336 if (! found_inverse) {
4068 0 12660 if (!none || val < none) {
0 0 if (!none || val < none) {
4107 14 3326 if (SvTYPE(hv) != SVt_PVHV) {
4118 3326 0 typestr = (U8*)SvPV_nolen(*typesvp);
4119 0 3326 bits = SvUV(*bitssvp);
4123 3326 0 if (SvPOK(*listsvp)) {
4124 3326 0 l = (U8*)SvPV(*listsvp, lcur);
4140 880865 3326 while ((loc = (strchr(loc, '\n'))) != NULL) {
4147 3326 0 if (! (*lend == '\n'
3326 0 if (! (*lend == '\n'
4148 2868 458 || (*lend == '\0' && (lcur == 0 || *(lend - 1) == '\n'))))
36 2832 || (*lend == '\0' && (lcur == 0 || *(lend - 1) == '\n'))))
4156 880901 3326 while (l < lend) {
4163 880901 0 if (l > lend) {
4171 2797 529 if (invert_it_svp && SvUV(*invert_it_svp)) {
0 2797 if (invert_it_svp && SvUV(*invert_it_svp)) {
47 2750 if (invert_it_svp && SvUV(*invert_it_svp)) {
4177 3326 0 x = (U8*)SvPV(*extssvp, xcur);
4179 982 3326 while (x < xend) {
4189 1 981 if (opc == '\n')
4194 586 395 if (opc != '-' && opc != '+' && opc != '!' && opc != '&') {
422 164 if (opc != '-' && opc != '+' && opc != '!' && opc != '&') {
4195 422 0 if (nl) {
4206 552 7 if (nl) {
4218 0 559 otherbits = (STRLEN)SvUV(*otherbitssvp);
4220 0 559 if (bits != otherbits || bits != 1) {
4259 90365 0 if (! SvROK(swash)) {
4265 0 90365 if (SvTYPE(SvRV(swash)) != SVt_PVHV) {
4270 90365 0 if (! ptr) {
4290 1173829 10530 while (s < e) {
4291 0 1173829 if (UTF8SKIP(s) > len) {
4292 0 0 Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
4293 0 0 "%s in %s", unees, PL_op ? OP_DESC(PL_op) : "print");
0 0 "%s in %s", unees, PL_op ? OP_DESC(PL_op) : "print");
4296 4987 1168842 if (UNLIKELY(*s >= UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE)) {
4298 10 4977 if (UTF8_IS_SUPER(s)) {
10 0 if (UTF8_IS_SUPER(s)) {
6 4 if (UTF8_IS_SUPER(s)) {
4299 5 1 if (ckWARN_d(WARN_NON_UNICODE)) {
4300 1 4 UV uv = utf8_to_uvchr_buf(s, e, &char_len);
4306 470 4511 else if (UTF8_IS_SURROGATE(s)) {
7 463 else if (UTF8_IS_SURROGATE(s)) {
4307 6 1 if (ckWARN_d(WARN_SURROGATE)) {
4308 1 5 UV uv = utf8_to_uvchr_buf(s, e, &char_len);
4315 30 7 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
4 813 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
6 0 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
0 6 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
24 0 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
0 24 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
2 2 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
2 0 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
0 2 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
41 4933 ((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
4316 2210 2764 && (ckWARN_d(WARN_NONCHAR)))
4 2206 && (ckWARN_d(WARN_NONCHAR)))
37 2169 && (ckWARN_d(WARN_NONCHAR)))
819 1945 && (ckWARN_d(WARN_NONCHAR)))
817 2 && (ckWARN_d(WARN_NONCHAR)))
24 1921 && (ckWARN_d(WARN_NONCHAR)))
24 0 && (ckWARN_d(WARN_NONCHAR)))
4 1917 && (ckWARN_d(WARN_NONCHAR)))
40 1 && (ckWARN_d(WARN_NONCHAR)))
4318 1 39 UV uv = utf8_to_uvchr_buf(s, e, &char_len);
4357 17086 16991 for (s = (const char *)spv, e = s + len; s < e; s += UTF8SKIP(s)) {
4364 17086 0 if (pvlim && SvCUR(dsv) >= pvlim) {
17079 7 if (pvlim && SvCUR(dsv) >= pvlim) {
4368 16973 106 u = utf8_to_uvchr_buf((U8*)s, (U8*)e, 0);
4369 164 16915 if (u < 256) {
4371 33 131 if (flags & UNI_DISPLAY_BACKSLASH) {
4387 6 27 if (ok) {
4394 158 6 if (!ok && (flags & UNI_DISPLAY_ISPRINT) && isPRINT(c)) {
158 0 if (!ok && (flags & UNI_DISPLAY_ISPRINT) && isPRINT(c)) {
80 78 if (!ok && (flags & UNI_DISPLAY_ISPRINT) && isPRINT(c)) {
4400 16993 86 if (!ok)
4403 7 16991 if (truncated)
4426 16998 0 isREGEXP(ssv) ? RX_WRAPPED((REGEXP*)ssv) : SvPVX_const(ssv);
0 16998 isREGEXP(ssv) ? RX_WRAPPED((REGEXP*)ssv) : SvPVX_const(ssv);
4522 208523 462835 if (pe1) {
4526 462835 208523 if (l1) {
4530 462835 208523 if (pe2) {
4534 208523 462835 if (l2) {
4541 462835 208523 if (g1) {
4555 208523 462835 if (g2) {
4568 804658 466764 while (p1 < e1 && p2 < e2) {
4573 791110 13548 if (n1 == 0) {
4574 261787 529323 if (flags & FOLDEQ_S1_ALREADY_FOLDED) {
4582 253720 275603 if ((flags & FOLDEQ_UTF8_LOCALE)
4583 179893 73827 && (! u1 || ! UTF8_IS_ABOVE_LATIN1(*p1)))
142970 36923 && (! u1 || ! UTF8_IS_ABOVE_LATIN1(*p1)))
4586 157304 59493 if (u2 && UTF8_IS_ABOVE_LATIN1(*p2)) {
136474 20830 if (u2 && UTF8_IS_ABOVE_LATIN1(*p2)) {
4592 131093 64874 if (! u1 || UTF8_IS_INVARIANT(*p1)) {
121126 9967 if (! u1 || UTF8_IS_INVARIANT(*p1)) {
4600 171178 141348 else if (isASCII(*p1)) { /* Note, that here won't be both
4605 19868 151310 if ((flags & FOLDEQ_UTF8_NOMIX_ASCII) && ! isASCII(*p2)) {
7785 12083 if ((flags & FOLDEQ_UTF8_NOMIX_ASCII) && ! isASCII(*p2)) {
4609 24825 134270 *foldbuf1 = toFOLD(*p1);
4611 122251 19097 else if (u1) {
4621 743944 27801 if (n2 == 0) { /* Same for s2 */
4622 91193 652751 if (flags & FOLDEQ_S2_ALREADY_FOLDED) {
4627 233909 418842 if ((flags & FOLDEQ_UTF8_LOCALE)
4628 160952 72957 && (! u2 || ! UTF8_IS_ABOVE_LATIN1(*p2)))
154549 6403 && (! u2 || ! UTF8_IS_ABOVE_LATIN1(*p2)))
4632 162632 64874 if (u1 && UTF8_IS_ABOVE_LATIN1(*p1)) {
131093 31539 if (u1 && UTF8_IS_ABOVE_LATIN1(*p1)) {
4635 136474 59493 if (! u2 || UTF8_IS_INVARIANT(*p2)) {
130239 6235 if (! u2 || UTF8_IS_INVARIANT(*p2)) {
4644 151170 44797 if (! foldEQ_locale((char *) f1, (char *) foldbuf2, 1)) {
4649 268440 156805 else if (isASCII(*p2)) {
4650 30098 238342 if ((flags & FOLDEQ_UTF8_NOMIX_ASCII) && ! isASCII(*p1)) {
7785 22313 if ((flags & FOLDEQ_UTF8_NOMIX_ASCII) && ! isASCII(*p1)) {
4654 50823 195304 *foldbuf2 = toFOLD(*p2);
4656 130048 26757 else if (u2) {
4672 539265 586469 while (n1 && n2) {
525670 13595 while (n1 && n2) {
4674 493255 32415 if (fold_length != UTF8SKIP(f2)
4675 337022 156233 || (fold_length == 1 && *f1 != *f2) /* Short circuit memNE
296628 40394 || (fold_length == 1 && *f1 != *f2) /* Short circuit memNE
4678 452638 223 || memNE((char*)f1, (char*)f2, fold_length))
4691 586469 13595 if (n1 == 0) {
4692 444201 142268 p1 += u1 ? UTF8SKIP(p1) : 1;
4694 571443 28621 if (n2 == 0) {
4695 436808 134635 p2 += u2 ? UTF8SKIP(p2) : 1;
4703 381137 85627 if (! ((g1 == 0 || p1 == g1) && (g2 == 0 || p2 == g2)) || n1 || n2) {
367251 13886 if (! ((g1 == 0 || p1 == g1) && (g2 == 0 || p2 == g2)) || n1 || n2) {
367224 27 if (! ((g1 == 0 || p1 == g1) && (g2 == 0 || p2 == g2)) || n1 || n2) {
367223 1 if (! ((g1 == 0 || p1 == g1) && (g2 == 0 || p2 == g2)) || n1 || n2) {
4708 133992 233231 if (pe1) {
4711 233231 133992 if (pe2) {