| line |
true |
false |
branch |
|
36
|
344338 |
68 |
if (string == NULL && GIMME_V == G_VOID) |
|
|
344326 |
12 |
if (string == NULL && GIMME_V == G_VOID) |
|
|
12 |
344326 |
if (string == NULL && GIMME_V == G_VOID) |
|
38
|
8 |
4 |
WARN_VOID_CONTEXT; |
|
42
|
68 |
344326 |
if (string != NULL) |
|
44
|
7 |
61 |
SvGETMAGIC(string); |
|
|
0 |
7 |
SvGETMAGIC(string); |
|
46
|
7 |
61 |
if ((SvFLAGS(string) & (SVf_POK|SVp_POK)) == 0) |
|
49
|
49 |
12 |
if (GIMME_V == G_VOID && SvREADONLY(string)) |
|
|
45 |
16 |
if (GIMME_V == G_VOID && SvREADONLY(string)) |
|
|
6 |
39 |
if (GIMME_V == G_VOID && SvREADONLY(string)) |
|
53
|
344337 |
44 |
NEED_PARSE_DATA; |
|
|
5587 |
338750 |
NEED_PARSE_DATA; |
|
55
|
18 |
344345 |
if (!get_member_info(aTHX_ THIS, type, &mi, 0)) |
|
58
|
305983 |
38362 |
if (mi.flags) |
|
59
|
12 |
305971 |
WARN_FLAGS(type, mi.flags); |
|
|
8 |
4 |
WARN_FLAGS(type, mi.flags); |
|
61
|
344296 |
49 |
if (string == NULL) |
|
66
|
71 |
344225 |
if (mi.size == 0) |
|
82
|
49 |
0 |
if (GIMME_V == G_VOID) |
|
|
33 |
16 |
if (GIMME_V == G_VOID) |
|
85
|
29 |
4 |
buffer = SvGROW(string, max+1); |
|
|
0 |
29 |
buffer = SvGROW(string, max+1); |
|
97
|
9 |
40 |
if(max > len) |
|
103
|
344312 |
33 |
pk_set_buffer(pack, rv ? rv : string, buffer, mi.size); |
|
105
|
2 |
344343 |
SvGETMAGIC(data); |
|
|
0 |
2 |
SvGETMAGIC(data); |
|
107
|
344345 |
93 |
XCPT_TRY_START |
|
115
|
93 |
344252 |
XCPT_CATCH |
|
117
|
93 |
0 |
if (rv) |
|
120
|
93 |
0 |
XCPT_RETHROW; |
|
|
0 |
0 |
XCPT_RETHROW; |
|
124
|
49 |
344203 |
if (string) |
|
125
|
7 |
42 |
SvSETMAGIC(string); |
|
127
|
32 |
344219 |
if (rv == NULL) |
|
158
|
381854 |
14 |
CHECK_VOID_CONTEXT; |
|
|
12 |
381856 |
CHECK_VOID_CONTEXT; |
|
|
8 |
4 |
CHECK_VOID_CONTEXT; |
|
160
|
7 |
381849 |
SvGETMAGIC(string); |
|
|
0 |
7 |
SvGETMAGIC(string); |
|
162
|
1 |
381855 |
if ((SvFLAGS(string) & (SVf_POK|SVp_POK)) == 0) |
|
165
|
381811 |
44 |
NEED_PARSE_DATA; |
|
|
16 |
381795 |
NEED_PARSE_DATA; |
|
167
|
12 |
381825 |
if (!get_member_info(aTHX_ THIS, type, &mi, 0)) |
|
170
|
306017 |
75808 |
if (mi.flags) |
|
171
|
12 |
306005 |
WARN_FLAGS(type, mi.flags); |
|
|
8 |
4 |
WARN_FLAGS(type, mi.flags); |
|
173
|
381818 |
7 |
buf = SvPV(string, len); |
|
175
|
381823 |
2 |
if (GIMME_V == G_SCALAR) |
|
|
381805 |
20 |
if (GIMME_V == G_SCALAR) |
|
177
|
30 |
381775 |
if (mi.size > len) |
|
178
|
22 |
8 |
WARN((aTHX_ "Data too short")); |
|
183
|
16 |
4 |
count = mi.size == 0 ? 1 : len / mi.size; |
|
185
|
381819 |
6 |
if (count > 0) |
|
196
|
0 |
381819 |
Newz(0, sva, count, SV *); |
|
201
|
381819 |
98 |
XCPT_TRY_START |
|
203
|
381848 |
381721 |
for (i = 0; i < count; i++) |
|
214
|
98 |
381721 |
XCPT_CATCH |
|
216
|
98 |
98 |
for (i = 0; i < count; i++) |
|
217
|
0 |
98 |
if (sva[i]) |
|
222
|
98 |
0 |
XCPT_RETHROW; |
|
|
0 |
0 |
XCPT_RETHROW; |
|
229
|
0 |
381721 |
EXTEND(SP, count); |
|
231
|
381750 |
381721 |
for (i = 0; i < count; i++) |