| line |
true |
false |
branch |
|
89
|
75 |
22 |
if (s[0] == ':') { |
|
90
|
74 |
1 |
if (++s
|
|
91
|
0 |
74 |
if (*s++ != ':') |
|
97
|
86 |
10 |
if (isIDFIRST(*s)) { |
|
98
|
167 |
31 |
while (++s
|
|
99
|
55 |
112 |
if (!isWORDCHAR(*s)) { |
|
100
|
22 |
33 |
if (*s == ':') |
|
136
|
42 |
164 |
if (safe_decimal_number(s, len)) { |
|
139
|
152 |
12 |
else if (isIDFIRST(*s)) { |
|
140
|
256 |
150 |
while (++s
|
|
141
|
2 |
254 |
if (!isWORDCHAR(*s)) |
|
156
|
88 |
164 |
if (len == 1 && *p == '0') |
|
|
2 |
86 |
if (len == 1 && *p == '0') |
|
159
|
250 |
0 |
if (len && *p == '-') { |
|
|
0 |
250 |
if (len && *p == '-') { |
|
164
|
250 |
0 |
if (len == 0 || *p < '1' || *p > '9') |
|
|
228 |
22 |
if (len == 0 || *p < '1' || *p > '9') |
|
|
180 |
48 |
if (len == 0 || *p < '1' || *p > '9') |
|
170
|
4 |
44 |
if (len > 8) |
|
173
|
56 |
42 |
while (len > 0) { |
|
175
|
54 |
2 |
if (*p < '0' || *p > '9') |
|
|
0 |
54 |
if (*p < '0' || *p > '9') |
|
189
|
2278 |
512 |
while (slen > 0) { |
|
190
|
2277 |
1 |
if (*s == '\'' || *s == '\\') |
|
|
1 |
2276 |
if (*s == '\'' || *s == '\\') |
|
207
|
9684 |
973 |
while (slen > 0) { |
|
208
|
5 |
9679 |
switch (*s) { |
|
241
|
1793 |
144 |
for (s = src; s < send; s += increment) { /* Sizing pass */ |
|
246
|
1793 |
0 |
if (isPRINT(k)) { |
|
|
1001 |
792 |
if (isPRINT(k)) { |
|
247
|
6 |
995 |
if (k == '\\') { |
|
249
|
58 |
937 |
} else if (k == '\'') { |
|
251
|
929 |
8 |
} else if (k == '"' || k == '$' || k == '@') { |
|
|
921 |
8 |
} else if (k == '"' || k == '$' || k == '@') { |
|
|
6 |
915 |
} else if (k == '"' || k == '$' || k == '@') { |
|
257
|
636 |
156 |
else if (! UTF8_IS_INVARIANT(k)) { |
|
265
|
372 |
264 |
if (do_utf8) { |
|
270
|
50 |
322 |
increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s); |
|
|
0 |
50 |
increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s); |
|
274
|
108 |
372 |
while ((k >>= 4) != 0) { /* Add space for each nibble */ |
|
278
|
264 |
0 |
else if (useqq) { /* Not utf8, must be <= 0xFF, hence 2 hex |
|
286
|
2 |
154 |
else if (! useqq) { /* Low ordinal, non-printable, non-qq just |
|
292
|
150 |
4 |
if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r' |
|
|
146 |
4 |
if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r' |
|
|
142 |
4 |
if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r' |
|
|
136 |
6 |
if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r' |
|
|
132 |
4 |
if ( k == '\a' || k == '\b' || k == '\t' || k == '\n' || k == '\r' |
|
293
|
128 |
4 |
|| k == '\f' || k == ESC_NATIVE) |
|
|
6 |
122 |
|| k == '\f' || k == ESC_NATIVE) |
|
299
|
120 |
2 |
if (s + 1 >= send || isDIGIT(*(s+1))) { |
|
|
4 |
116 |
if (s + 1 >= send || isDIGIT(*(s+1))) { |
|
305
|
40 |
76 |
else if (k <= 7) { |
|
308
|
72 |
4 |
else if (k <= 077) { |
|
317
|
63 |
81 |
if (grow || useqq) { |
|
|
51 |
12 |
if (grow || useqq) { |
|
325
|
1728 |
132 |
for (s = src; s < send; s += increment) { |
|
329
|
831 |
897 |
if (do_utf8 && ! UTF8_IS_INVARIANT(c0)) { |
|
|
372 |
459 |
if (do_utf8 && ! UTF8_IS_INVARIANT(c0)) { |
|
337
|
50 |
322 |
increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s); |
|
|
0 |
50 |
increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s); |
|
351
|
1356 |
0 |
if (isPRINT(k)) { |
|
|
937 |
419 |
if (isPRINT(k)) { |
|
353
|
931 |
6 |
if (k == '"' || k == '\\' || k == '$' || k == '@') { |
|
|
925 |
6 |
if (k == '"' || k == '\\' || k == '$' || k == '@') { |
|
|
919 |
6 |
if (k == '"' || k == '\\' || k == '$' || k == '@') { |
|
|
6 |
913 |
if (k == '"' || k == '\\' || k == '$' || k == '@') { |
|
359
|
1 |
418 |
else if (! useqq) { /* non-qq, non-printable, low-ordinal is |
|
381
|
382 |
4 |
next_is_digit = (s + 1 < send && isDIGIT(*(s+1))); |
|
|
4 |
378 |
next_is_digit = (s + 1 < send && isDIGIT(*(s+1))); |
|
386
|
46 |
340 |
if (k <= 7 && !next_is_digit) { |
|
|
42 |
4 |
if (k <= 7 && !next_is_digit) { |
|
388
|
76 |
268 |
} else if (k <= 63 && !next_is_digit) { |
|
|
72 |
4 |
} else if (k <= 63 && !next_is_digit) { |
|
406
|
65 |
12 |
for (s = src; s < send; s ++) { |
|
408
|
63 |
2 |
if (k == '\'' || k == '\\') |
|
|
0 |
63 |
if (k == '\'' || k == '\\') |
|
425
|
1427 |
21 |
if (!sv) |
|
432
|
1168 |
280 |
if (n > 0) { |
|
433
|
1168 |
0 |
SvGROW(sv, len*n + SvCUR(sv) + 1); |
|
|
32 |
1136 |
SvGROW(sv, len*n + SvCUR(sv) + 1); |
|
434
|
267 |
901 |
if (len == 1) { |
|
438
|
1848 |
267 |
while (n > 0) |
|
442
|
1658 |
901 |
while (n > 0) { |
|
480
|
0 |
5 |
PUSHMARK(SP); |
|
481
|
0 |
5 |
mXPUSHs(newSVpvs("B::Deparse")); |
|
487
|
0 |
5 |
if (n != 1) { |
|
491
|
0 |
5 |
PUSHMARK(SP - n); |
|
492
|
0 |
5 |
XPUSHs(val); |
|
498
|
0 |
5 |
if (n != 1) { |
|
505
|
5 |
0 |
FREETMPS; |
|
524
|
0 |
54 |
if (!re_pattern_cv) { |
|
532
|
0 |
54 |
PUSHMARK(SP); |
|
533
|
0 |
54 |
XPUSHs(val); |
|
537
|
54 |
0 |
if (count >= 2) { |
|
544
|
54 |
0 |
FREETMPS; |
|
546
|
54 |
0 |
if (sv_pattern) { |
|
580
|
54 |
0 |
rval = SvPV(sv_pattern, rlen); |
|
583
|
24 |
30 |
do_utf8 = DO_UTF8(sv_pattern); |
|
|
24 |
0 |
do_utf8 = DO_UTF8(sv_pattern); |
|
585
|
211 |
54 |
while (p < rend) { |
|
589
|
37 |
174 |
if (saw_backslash) { |
|
590
|
0 |
37 |
if (++p == rend) { |
|
598
|
23 |
188 |
if (/* / that was not backslashed */ |
|
599
|
1 |
22 |
(k == '/' && !saw_backslash) |
|
602
|
20 |
169 |
|| (k == '$' && !saw_backslash |
|
|
16 |
4 |
|| (k == '$' && !saw_backslash |
|
603
|
12 |
4 |
&& (p + 1 != rend && p[1] != '|' && p[1] != ')')) |
|
|
10 |
2 |
&& (p + 1 != rend && p[1] != '|' && p[1] != ')')) |
|
|
2 |
8 |
&& (p + 1 != rend && p[1] != '|' && p[1] != ')')) |
|
605
|
82 |
99 |
|| (do_utf8 && ! UTF8_IS_INVARIANT(k))) |
|
|
24 |
58 |
|| (do_utf8 && ! UTF8_IS_INVARIANT(k))) |
|
608
|
38 |
16 |
if (to_copy) { |
|
612
|
22 |
32 |
if (k == '/') { |
|
616
|
8 |
24 |
else if (k == '$') { |
|
639
|
47 |
7 |
if (rlen) { |
|
644
|
54 |
0 |
if (sv_flags) |
|
675
|
0 |
2607 |
if (!val) |
|
678
|
1 |
2606 |
if (style->maxrecursed) |
|
685
|
2606 |
0 |
if (SvTYPE(retval) >= SVt_PV && (SvLEN(retval) - SvCUR(retval)) < 42) { |
|
|
2147 |
459 |
if (SvTYPE(retval) >= SVt_PV && (SvLEN(retval) - SvCUR(retval)) < 42) { |
|
691
|
0 |
2606 |
if (SvGMAGICAL(val)) |
|
693
|
1080 |
1526 |
if (SvROK(val)) { |
|
697
|
70 |
1010 |
if (SvOBJECT(SvRV(val)) && style->freezer && |
|
|
70 |
0 |
if (SvOBJECT(SvRV(val)) && style->freezer && |
|
|
68 |
2 |
if (SvOBJECT(SvRV(val)) && style->freezer && |
|
702
|
0 |
6 |
dSP; ENTER; SAVETMPS; PUSHMARK(sp); |
|
703
|
0 |
6 |
XPUSHs(val); PUTBACK; |
|
706
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
6 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
6 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
6 |
0 |
if (SvTRUE(ERRSV)) |
|
|
5 |
1 |
if (SvTRUE(ERRSV)) |
|
|
5 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
5 |
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)) |
|
|
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)) |
|
|
1 |
5 |
if (SvTRUE(ERRSV)) |
|
707
|
1 |
0 |
warn("WARNING(Freezer method call failed): %" SVf, ERRSV); |
|
708
|
6 |
0 |
PUTBACK; FREETMPS; LEAVE; |
|
715
|
70 |
1010 |
if (SvOBJECT(ival)) |
|
716
|
70 |
0 |
realpack = HvNAME_get(SvSTASH(ival)); |
|
|
70 |
0 |
realpack = HvNAME_get(SvSTASH(ival)); |
|
|
0 |
70 |
realpack = HvNAME_get(SvSTASH(ival)); |
|
|
0 |
0 |
realpack = HvNAME_get(SvSTASH(ival)); |
|
|
70 |
0 |
realpack = HvNAME_get(SvSTASH(ival)); |
|
|
0 |
70 |
realpack = HvNAME_get(SvSTASH(ival)); |
|
723
|
1080 |
0 |
if (namelen) { |
|
724
|
323 |
757 |
if ((svp = hv_fetch(seenhv, id, idlen, FALSE)) |
|
725
|
323 |
0 |
&& (sv = *svp) && SvROK(sv) && (seenentry = (AV*)SvRV(sv))) |
|
|
323 |
0 |
&& (sv = *svp) && SvROK(sv) && (seenentry = (AV*)SvRV(sv))) |
|
|
323 |
0 |
&& (sv = *svp) && SvROK(sv) && (seenentry = (AV*)SvRV(sv))) |
|
728
|
323 |
0 |
if ((svp = av_fetch(seenentry, 0, FALSE)) |
|
729
|
323 |
0 |
&& (othername = *svp)) |
|
731
|
140 |
183 |
if (style->purity && level > 0) { |
|
|
88 |
52 |
if (style->purity && level > 0) { |
|
734
|
28 |
60 |
if (realtype == SVt_PVHV) |
|
736
|
38 |
22 |
else if (realtype == SVt_PVAV) |
|
746
|
231 |
4 |
if (name[0] == '@' || name[0] == '%') { |
|
|
26 |
205 |
if (name[0] == '@' || name[0] == '%') { |
|
747
|
10 |
20 |
if ((SvPVX_const(othername))[0] == '\\' && |
|
|
10 |
0 |
if ((SvPVX_const(othername))[0] == '\\' && |
|
771
|
733 |
24 |
if (name[0] == '@' || name[0] == '%') { |
|
|
11 |
722 |
if (name[0] == '@' || name[0] == '%') { |
|
775
|
11 |
711 |
else if (realtype == SVt_PVCV && name[0] == '*') { |
|
|
2 |
9 |
else if (realtype == SVt_PVCV && name[0] == '*') { |
|
797
|
70 |
687 |
if (realpack && realtype == SVt_REGEXP) |
|
|
54 |
16 |
if (realpack && realtype == SVt_REGEXP) |
|
801
|
53 |
1 |
if (strEQ(realpack, "Regexp")) |
|
812
|
564 |
193 |
if (!style->purity && style->maxdepth > 0 && level >= style->maxdepth) { |
|
|
18 |
546 |
if (!style->purity && style->maxdepth > 0 && level >= style->maxdepth) { |
|
|
6 |
12 |
if (!style->purity && style->maxdepth > 0 && level >= style->maxdepth) { |
|
814
|
0 |
6 |
const char * const valstr = SvPV(val,vallen); |
|
821
|
746 |
5 |
if (style->maxrecurse > 0 && level >= style->maxrecurse) { |
|
|
4 |
742 |
if (style->maxrecurse > 0 && level >= style->maxrecurse) { |
|
825
|
70 |
681 |
if (realpack && !no_bless) { /* we have a blessed ref */ |
|
|
17 |
53 |
if (realpack && !no_bless) { /* we have a blessed ref */ |
|
827
|
17 |
0 |
const char * const blessstr = SvPV(style->bless, blesslen); |
|
830
|
15 |
2 |
if (style->indent >= 2) { |
|
840
|
54 |
697 |
if (is_regex) { |
|
843
|
79 |
618 |
else if ( |
|
853
|
0 |
79 |
if (realpack) { /* blessed */ |
|
865
|
54 |
564 |
else if (realtype == SVt_PVGV) { /* glob ref */ |
|
874
|
322 |
242 |
else if (realtype == SVt_PVAV) { |
|
885
|
24 |
298 |
if (name[0] == '@') { |
|
895
|
298 |
0 |
if ((namelen > 0 |
|
896
|
277 |
21 |
&& name[namelen-1] != ']' && name[namelen-1] != '}') |
|
|
161 |
116 |
&& name[namelen-1] != ']' && name[namelen-1] != '}') |
|
897
|
182 |
0 |
|| (namelen > 4 |
|
898
|
178 |
4 |
&& (name[1] == '{' |
|
899
|
0 |
178 |
|| (name[0] == '\\' && name[2] == '{')))) |
|
|
0 |
0 |
|| (name[0] == '\\' && name[2] == '{')))) |
|
905
|
4 |
318 |
if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 && |
|
|
4 |
0 |
if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 && |
|
|
4 |
0 |
if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 && |
|
|
4 |
0 |
if (iname[0] == '*' && iname[inamelen-1] == '}' && inamelen >= 8 && |
|
906
|
0 |
4 |
(instr(iname+inamelen-8, "{SCALAR}") || |
|
907
|
0 |
0 |
instr(iname+inamelen-7, "{ARRAY}") || |
|
916
|
580 |
322 |
for (ix = 0; ix <= ixmax; ++ix) { |
|
920
|
580 |
0 |
if (svp) |
|
929
|
16 |
564 |
if (style->indent >= 3) { |
|
941
|
185 |
395 |
FREETMPS; |
|
943
|
209 |
371 |
if (ix < ixmax || (style->trailingcomma && style->indent >= 1)) |
|
|
6 |
203 |
if (ix < ixmax || (style->trailingcomma && style->indent >= 1)) |
|
|
4 |
2 |
if (ix < ixmax || (style->trailingcomma && style->indent >= 1)) |
|
946
|
209 |
113 |
if (ixmax >= 0) { |
|
952
|
24 |
298 |
if (name[0] == '@') |
|
957
|
231 |
11 |
else if (realtype == SVt_PVHV) { |
|
966
|
11 |
220 |
if (name[0] == '%') { |
|
973
|
220 |
0 |
if ((namelen > 0 |
|
974
|
154 |
66 |
&& name[namelen-1] != ']' && name[namelen-1] != '}') |
|
|
38 |
116 |
&& name[namelen-1] != ']' && name[namelen-1] != '}') |
|
975
|
104 |
0 |
|| (namelen > 4 |
|
976
|
88 |
16 |
&& (name[1] == '{' |
|
977
|
0 |
88 |
|| (name[0] == '\\' && name[2] == '{')))) |
|
|
0 |
0 |
|| (name[0] == '\\' && name[2] == '{')))) |
|
982
|
24 |
207 |
if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 && |
|
|
20 |
4 |
if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 && |
|
|
20 |
0 |
if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 && |
|
|
20 |
0 |
if (name[0] == '*' && name[namelen-1] == '}' && namelen >= 8 && |
|
983
|
20 |
0 |
(instr(name+namelen-8, "{SCALAR}") || |
|
984
|
20 |
0 |
instr(name+namelen-7, "{ARRAY}") || |
|
994
|
116 |
115 |
if (style->sortkeys) { |
|
995
|
101 |
15 |
if (style->sortkeys == &PL_sv_yes) { |
|
998
|
287 |
101 |
while ((entry = hv_iternext((HV*)ival))) { |
|
1005
|
101 |
0 |
if (IN_LC(LC_COLLATE)) |
|
|
0 |
101 |
if (IN_LC(LC_COLLATE)) |
|
|
0 |
0 |
if (IN_LC(LC_COLLATE)) |
|
|
101 |
0 |
if (IN_LC(LC_COLLATE)) |
|
|
101 |
0 |
if (IN_LC(LC_COLLATE)) |
|
|
101 |
0 |
if (IN_LC(LC_COLLATE)) |
|
|
0 |
101 |
if (IN_LC(LC_COLLATE)) |
|
|
0 |
0 |
if (IN_LC(LC_COLLATE)) |
|
1024
|
0 |
15 |
dSP; ENTER; SAVETMPS; PUSHMARK(sp); |
|
1025
|
0 |
15 |
XPUSHs(sv_2mortal(newRV_inc(ival))); PUTBACK; |
|
1028
|
15 |
0 |
if (i) { |
|
1030
|
15 |
0 |
if (SvROK(sv) && (SvTYPE(SvRV(sv)) == SVt_PVAV)) |
|
|
14 |
1 |
if (SvROK(sv) && (SvTYPE(SvRV(sv)) == SVt_PVAV)) |
|
1033
|
1 |
14 |
if (! keys) |
|
1035
|
15 |
0 |
PUTBACK; FREETMPS; LEAVE; |
|
1037
|
115 |
1 |
if (keys) |
|
1054
|
582 |
371 |
if (style->sortkeys) { |
|
1055
|
581 |
1 |
if (!(keys && (SSize_t)i <= av_len(keys))) break; |
|
|
466 |
115 |
if (!(keys && (SSize_t)i <= av_len(keys))) break; |
|
1057
|
115 |
256 |
if (!(entry = hv_iternext((HV *)ival))) break; |
|
1060
|
501 |
221 |
if (i) |
|
1063
|
466 |
256 |
if (style->sortkeys) { |
|
1066
|
466 |
0 |
keysv = svp ? *svp : sv_newmortal(); |
|
1067
|
466 |
0 |
key = SvPV(keysv, keylen); |
|
1068
|
8 |
458 |
svp = hv_fetch((HV*)ival, key, |
|
1070
|
466 |
0 |
hval = svp ? *svp : sv_newmortal(); |
|
1077
|
722 |
0 |
key = SvPV(keysv, keylen); |
|
1078
|
14 |
708 |
do_utf8 = DO_UTF8(keysv); |
|
|
14 |
0 |
do_utf8 = DO_UTF8(keysv); |
|
1104
|
206 |
516 |
if (style->quotekeys || key_needs_quote(key,keylen)) { |
|
|
14 |
192 |
if (style->quotekeys || key_needs_quote(key,keylen)) { |
|
1105
|
518 |
12 |
if (do_utf8 || style->useqq) { |
|
|
23 |
495 |
if (do_utf8 || style->useqq) { |
|
1116
|
0 |
495 |
if (nticks) |
|
1137
|
349 |
373 |
if (style->indent >= 2) { |
|
1142
|
3475 |
349 |
while (elen < (klen+4)) |
|
1154
|
722 |
0 |
FREETMPS; |
|
1157
|
221 |
10 |
if (i) { |
|
1160
|
6 |
215 |
if (style->trailingcomma && style->indent >= 1) |
|
|
4 |
2 |
if (style->trailingcomma && style->indent >= 1) |
|
1166
|
11 |
220 |
if (name[0] == '%') |
|
1171
|
11 |
0 |
else if (realtype == SVt_PVCV) { |
|
1172
|
5 |
6 |
if (style->deparse) { |
|
1181
|
4 |
5 |
for (i = 0; i < level; i++) { |
|
1186
|
5 |
0 |
p = SvPV(deparsed, plen); |
|
1187
|
23 |
0 |
while (plen > 0) { |
|
1189
|
5 |
18 |
if (!nl) { |
|
1204
|
0 |
6 |
if (style->purity) |
|
1212
|
70 |
681 |
if (realpack && !no_bless) { /* free blessed allocs */ |
|
|
17 |
53 |
if (realpack && !no_bless) { /* free blessed allocs */ |
|
1215
|
15 |
2 |
if (style->indent >= 2) { |
|
1222
|
2 |
15 |
if (pticks) { /* needs escaping */ |
|
1238
|
17 |
0 |
if (style->toaster && SvPOK(style->toaster) && SvCUR(style->toaster)) { |
|
|
17 |
0 |
if (style->toaster && SvPOK(style->toaster) && SvCUR(style->toaster)) { |
|
|
0 |
17 |
if (style->toaster && SvPOK(style->toaster) && SvCUR(style->toaster)) { |
|
1249
|
1526 |
0 |
if (namelen) { |
|
1252
|
110 |
1416 |
if ((svp = hv_fetch(seenhv, id, idlen, FALSE)) && |
|
|
110 |
0 |
if ((svp = hv_fetch(seenhv, id, idlen, FALSE)) && |
|
1253
|
110 |
0 |
(sv = *svp) && SvROK(sv) && |
|
|
110 |
0 |
(sv = *svp) && SvROK(sv) && |
|
1257
|
110 |
0 |
if ((svp = av_fetch(seenentry, 0, FALSE)) && (othername = *svp) |
|
|
110 |
0 |
if ((svp = av_fetch(seenentry, 0, FALSE)) && (othername = *svp) |
|
1258
|
8 |
102 |
&& (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0) |
|
|
8 |
0 |
&& (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0) |
|
|
8 |
0 |
&& (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0) |
|
|
8 |
0 |
&& (svp = av_fetch(seenentry, 2, FALSE)) && *svp && SvIV(*svp) > 0) |
|
1273
|
1416 |
0 |
else if (val != &PL_sv_undef && (!style->use_sparse_seen_hash || SvREFCNT(val) > 1)) { |
|
|
16 |
1400 |
else if (val != &PL_sv_undef && (!style->use_sparse_seen_hash || SvREFCNT(val) > 1)) { |
|
|
0 |
16 |
else if (val != &PL_sv_undef && (!style->use_sparse_seen_hash || SvREFCNT(val) > 1)) { |
|
1284
|
419 |
1099 |
if (DD_is_integer(val)) { |
|
1286
|
0 |
419 |
if (SvIsUV(val)) |
|
1287
|
0 |
0 |
len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" UVuf, SvUV(val)); |
|
|
0 |
0 |
len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" UVuf, SvUV(val)); |
|
1289
|
419 |
0 |
len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" IVdf, SvIV(val)); |
|
|
0 |
419 |
len = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" IVdf, SvIV(val)); |
|
1290
|
120 |
299 |
if (SvPOK(val)) { |
|
1294
|
120 |
0 |
const char * const pv = SvPV(val, pvlen); |
|
1295
|
88 |
32 |
if (pvlen != len || memNE(pv, tmpbuf, len)) |
|
|
88 |
0 |
if (pvlen != len || memNE(pv, tmpbuf, len)) |
|
1298
|
12 |
375 |
if (len > 10) { |
|
1305
|
75 |
1024 |
else if (realtype == SVt_PVGV) {/* GLOBs can end up with scribbly names */ |
|
1306
|
0 |
75 |
c = SvPV(val, i); |
|
1307
|
75 |
0 |
if(i) ++c, --i; /* just get the name */ |
|
1308
|
75 |
0 |
if (memBEGINs(c, i, "main::")) { |
|
|
53 |
22 |
if (memBEGINs(c, i, "main::")) { |
|
1310
|
1 |
52 |
if (i == 6) |
|
1313
|
44 |
31 |
if (globname_needs_quote(c,i)) { |
|
1339
|
24 |
51 |
if (style->purity) { |
|
1348
|
72 |
24 |
for (j=0; j<3; j++) { |
|
1349
|
24 |
48 |
e = ((j == 0) ? GvSV(gv) : (j == 1) ? (SV*)GvAV(gv) : (SV*)GvHV(gv)); |
|
|
24 |
24 |
e = ((j == 0) ? GvSV(gv) : (j == 1) ? (SV*)GvAV(gv) : (SV*)GvHV(gv)); |
|
1350
|
16 |
56 |
if (!e) |
|
1352
|
24 |
32 |
if (j == 0 && !SvOK(e)) |
|
|
12 |
12 |
if (j == 0 && !SvOK(e)) |
|
|
12 |
0 |
if (j == 0 && !SvOK(e)) |
|
|
12 |
0 |
if (j == 0 && !SvOK(e)) |
|
1365
|
6 |
38 |
if (style->indent >= 2) |
|
1378
|
1024 |
0 |
else if (val == &PL_sv_undef || !SvOK(val)) { |
|
|
12 |
1012 |
else if (val == &PL_sv_undef || !SvOK(val)) { |
|
|
12 |
0 |
else if (val == &PL_sv_undef || !SvOK(val)) { |
|
|
12 |
0 |
else if (val == &PL_sv_undef || !SvOK(val)) { |
|
1382
|
40 |
972 |
else if (SvMAGICAL(val) && (mg = mg_find(val, 'V'))) { |
|
|
6 |
34 |
else if (SvMAGICAL(val) && (mg = mg_find(val, 'V'))) { |
|
1398
|
894 |
144 |
c = SvPV(val, i); |
|
1404
|
46 |
992 |
if (style->useqq && safe_decimal_number(c, i)) { |
|
|
2 |
44 |
if (style->useqq && safe_decimal_number(c, i)) { |
|
1407
|
29 |
1007 |
else if (DO_UTF8(val) || style->useqq) |
|
|
0 |
29 |
else if (DO_UTF8(val) || style->useqq) |
|
|
36 |
971 |
else if (DO_UTF8(val) || style->useqq) |
|
1408
|
29 |
36 |
i += esc_q_utf8(aTHX_ retval, c, i, DO_UTF8(val), style->useqq); |
|
|
29 |
0 |
i += esc_q_utf8(aTHX_ retval, c, i, DO_UTF8(val), style->useqq); |
|
1422
|
2269 |
0 |
if (idlen) { |
|
1423
|
90 |
2179 |
if (style->deepcopy) |
|
1425
|
2179 |
0 |
else if (namelen && seenentry) { |
|
|
2163 |
16 |
else if (namelen && seenentry) { |
|
1460
|
153 |
218 |
I32 gimme = GIMME_V; |
|
1462
|
151 |
220 |
if (!SvROK(href)) { /* call new to get an object first */ |
|
1463
|
0 |
151 |
if (items < 2) |
|
1469
|
0 |
151 |
PUSHMARK(sp); |
|
1470
|
0 |
151 |
EXTEND(SP, 3); /* 3 == max of all branches below */ |
|
1473
|
54 |
97 |
if (items >= 3) |
|
1478
|
151 |
0 |
if (i) |
|
1482
|
151 |
0 |
FREETMPS; |
|
1484
|
151 |
0 |
if (i) |
|
1501
|
371 |
0 |
if (SvROK(href) |
|
1502
|
371 |
0 |
&& (hv = (HV*)SvRV((SV*)href)) |
|
1503
|
371 |
0 |
&& SvTYPE(hv) == SVt_PVHV) { |
|
1505
|
371 |
0 |
if ((svp = hv_fetchs(hv, "seen", FALSE)) && SvROK(*svp)) |
|
|
371 |
0 |
if ((svp = hv_fetchs(hv, "seen", FALSE)) && SvROK(*svp)) |
|
1509
|
371 |
0 |
if ((svp = hv_fetchs(hv, "noseen", FALSE))) |
|
1510
|
2 |
369 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
|
2 |
0 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
|
0 |
2 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
|
369 |
0 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
|
6 |
363 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
|
0 |
0 |
style.use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0); |
|
1511
|
371 |
0 |
if ((svp = hv_fetchs(hv, "todump", FALSE)) && SvROK(*svp)) |
|
|
371 |
0 |
if ((svp = hv_fetchs(hv, "todump", FALSE)) && SvROK(*svp)) |
|
1513
|
371 |
0 |
if ((svp = hv_fetchs(hv, "names", FALSE)) && SvROK(*svp)) |
|
|
371 |
0 |
if ((svp = hv_fetchs(hv, "names", FALSE)) && SvROK(*svp)) |
|
1515
|
371 |
0 |
if ((svp = hv_fetchs(hv, "indent", FALSE))) |
|
1516
|
371 |
0 |
style.indent = SvIV(*svp); |
|
1517
|
371 |
0 |
if ((svp = hv_fetchs(hv, "purity", FALSE))) |
|
1518
|
371 |
0 |
style.purity = SvIV(*svp); |
|
1519
|
371 |
0 |
if ((svp = hv_fetchs(hv, "terse", FALSE))) |
|
1520
|
371 |
0 |
terse = SvTRUE(*svp); |
|
|
0 |
371 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
|
1 |
370 |
terse = SvTRUE(*svp); |
|
|
1 |
0 |
terse = SvTRUE(*svp); |
|
|
0 |
1 |
terse = SvTRUE(*svp); |
|
|
0 |
370 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
|
370 |
0 |
terse = SvTRUE(*svp); |
|
|
370 |
0 |
terse = SvTRUE(*svp); |
|
|
361 |
9 |
terse = SvTRUE(*svp); |
|
|
0 |
361 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
|
9 |
361 |
terse = SvTRUE(*svp); |
|
|
0 |
0 |
terse = SvTRUE(*svp); |
|
1521
|
371 |
0 |
if ((svp = hv_fetchs(hv, "useqq", FALSE))) |
|
1522
|
371 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
371 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
1 |
370 |
style.useqq = SvTRUE(*svp); |
|
|
1 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
1 |
style.useqq = SvTRUE(*svp); |
|
|
1 |
369 |
style.useqq = SvTRUE(*svp); |
|
|
1 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
1 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
1 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
1 |
style.useqq = SvTRUE(*svp); |
|
|
369 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
369 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
331 |
38 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
331 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
0 |
style.useqq = SvTRUE(*svp); |
|
|
38 |
331 |
style.useqq = SvTRUE(*svp); |
|
|
0 |
0 |
style.useqq = SvTRUE(*svp); |
|
1523
|
371 |
0 |
if ((svp = hv_fetchs(hv, "pad", FALSE))) |
|
1525
|
371 |
0 |
if ((svp = hv_fetchs(hv, "xpad", FALSE))) |
|
1527
|
371 |
0 |
if ((svp = hv_fetchs(hv, "apad", FALSE))) |
|
1529
|
371 |
0 |
if ((svp = hv_fetchs(hv, "sep", FALSE))) |
|
1531
|
371 |
0 |
if ((svp = hv_fetchs(hv, "pair", FALSE))) |
|
1533
|
371 |
0 |
if ((svp = hv_fetchs(hv, "varname", FALSE))) |
|
1535
|
371 |
0 |
if ((svp = hv_fetchs(hv, "freezer", FALSE))) |
|
1537
|
371 |
0 |
if ((svp = hv_fetchs(hv, "toaster", FALSE))) |
|
1539
|
371 |
0 |
if ((svp = hv_fetchs(hv, "deepcopy", FALSE))) |
|
1540
|
371 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
371 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
2 |
369 |
style.deepcopy = SvTRUE(*svp); |
|
|
2 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
2 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
369 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
369 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
369 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
363 |
6 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
363 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
|
6 |
363 |
style.deepcopy = SvTRUE(*svp); |
|
|
0 |
0 |
style.deepcopy = SvTRUE(*svp); |
|
1541
|
371 |
0 |
if ((svp = hv_fetchs(hv, "quotekeys", FALSE))) |
|
1542
|
371 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
371 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
2 |
369 |
style.quotekeys = SvTRUE(*svp); |
|
|
2 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
2 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
369 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
369 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
369 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
146 |
223 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
146 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
|
223 |
146 |
style.quotekeys = SvTRUE(*svp); |
|
|
0 |
0 |
style.quotekeys = SvTRUE(*svp); |
|
1543
|
371 |
0 |
if ((svp = hv_fetchs(hv, "trailingcomma", FALSE))) |
|
1544
|
371 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
371 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
371 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
371 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
371 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
371 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
357 |
14 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
357 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
|
14 |
357 |
style.trailingcomma = SvTRUE(*svp); |
|
|
0 |
0 |
style.trailingcomma = SvTRUE(*svp); |
|
1545
|
371 |
0 |
if ((svp = hv_fetchs(hv, "deparse", FALSE))) |
|
1546
|
371 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
371 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
371 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
371 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
371 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
371 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
356 |
15 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
356 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
|
15 |
356 |
style.deparse = SvTRUE(*svp); |
|
|
0 |
0 |
style.deparse = SvTRUE(*svp); |
|
1547
|
371 |
0 |
if ((svp = hv_fetchs(hv, "bless", FALSE))) |
|
1549
|
371 |
0 |
if ((svp = hv_fetchs(hv, "maxdepth", FALSE))) |
|
1550
|
371 |
0 |
style.maxdepth = SvIV(*svp); |
|
1551
|
371 |
0 |
if ((svp = hv_fetchs(hv, "maxrecurse", FALSE))) |
|
1552
|
371 |
0 |
style.maxrecurse = SvIV(*svp); |
|
1553
|
371 |
0 |
if ((svp = hv_fetchs(hv, "sortkeys", FALSE))) { |
|
1555
|
371 |
0 |
if (! SvTRUE(sv)) |
|
|
0 |
371 |
if (! SvTRUE(sv)) |
|
|
0 |
0 |
if (! SvTRUE(sv)) |
|
|
2 |
369 |
if (! SvTRUE(sv)) |
|
|
2 |
0 |
if (! SvTRUE(sv)) |
|
|
0 |
2 |
if (! SvTRUE(sv)) |
|
|
0 |
369 |
if (! SvTRUE(sv)) |
|
|
0 |
0 |
if (! SvTRUE(sv)) |
|
|
0 |
0 |
if (! SvTRUE(sv)) |
|
|
0 |
0 |
if (! SvTRUE(sv)) |
|
|
0 |
0 |
if (! SvTRUE(sv)) |
|
|
0 |
0 |
if (! SvTRUE(sv)) |
|
|
359 |
10 |
if (! SvTRUE(sv)) |
|
|
359 |
0 |
if (! SvTRUE(sv)) |
|
|
175 |
184 |
if (! SvTRUE(sv)) |
|
|
0 |
175 |
if (! SvTRUE(sv)) |
|
|
0 |
0 |
if (! SvTRUE(sv)) |
|
|
175 |
184 |
if (! SvTRUE(sv)) |
|
|
0 |
10 |
if (! SvTRUE(sv)) |
|
1557
|
10 |
184 |
else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV) |
|
|
10 |
0 |
else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV) |
|
1566
|
371 |
0 |
if (todumpav) |
|
1571
|
1128 |
371 |
for (i = 0; i <= imax; ++i) { |
|
1575
|
1128 |
0 |
if ((svp = av_fetch(todumpav, i, FALSE))) |
|
1579
|
1128 |
0 |
if ((svp = av_fetch(namesav, i, TRUE))) { |
|
1581
|
862 |
266 |
if (SvOK(*svp) && !SvPOK(*svp)) |
|
|
862 |
0 |
if (SvOK(*svp) && !SvPOK(*svp)) |
|
|
0 |
862 |
if (SvOK(*svp) && !SvPOK(*svp)) |
|
|
4 |
262 |
if (SvOK(*svp) && !SvPOK(*svp)) |
|
1582
|
0 |
4 |
(void)SvPV_nolen_const(name); |
|
1585
|
0 |
0 |
(void)SvOK_off(name); |
|
1587
|
266 |
862 |
if (SvPOK(name)) { |
|
1588
|
81 |
185 |
if ((SvPVX_const(name))[0] == '*') { |
|
1589
|
79 |
2 |
if (SvROK(val)) { |
|
1608
|
183 |
2 |
else if ((SvPVX_const(name))[0] != '$') |
|
1615
|
0 |
862 |
nchars = my_snprintf(tmpbuf, sizeof(tmpbuf), "%" IVdf, |
|
1620
|
250 |
878 |
if (style.indent >= 2 && !terse) { |
|
|
246 |
4 |
if (style.indent >= 2 && !terse) { |
|
1635
|
312 |
816 |
FREETMPS; |
|
1639
|
1092 |
36 |
if (postlen >= 0 || !terse) { |
|
|
1083 |
9 |
if (postlen >= 0 || !terse) { |
|
1647
|
36 |
1092 |
if (postlen >= 0) { |
|
1650
|
132 |
36 |
for (i = 0; i <= postlen; ++i) { |
|
1653
|
132 |
0 |
if (svp && (elem = *svp)) { |
|
|
132 |
0 |
if (svp && (elem = *svp)) { |
|
1655
|
96 |
36 |
if (i < postlen) { |
|
1666
|
241 |
887 |
if (gimme == G_ARRAY) { |
|
1667
|
0 |
241 |
XPUSHs(retval); |
|
1668
|
79 |
162 |
if (i < imax) /* not the last time thro ? */ |
|
1675
|
4 |
367 |
if (style.maxrecursed) |
|
1682
|
205 |
162 |
if (gimme != G_ARRAY) |
|
1683
|
0 |
205 |
XPUSHs(retval); |
|
1695
|
6 |
0 |
SvMAGICAL(sv) && (mg = mg_find(sv, 'V')) |
|
1697
|
6 |
1705 |
: &PL_sv_undef; |