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
|
30 |
3 |
buffer = SvGROW(string, max+1); |
|
0 |
30 |
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 |
96 |
XCPT_TRY_START |
115
|
96 |
344249 |
XCPT_CATCH |
117
|
96 |
0 |
if (rv) |
120
|
96 |
0 |
XCPT_RETHROW; |
|
0 |
0 |
XCPT_RETHROW; |
124
|
49 |
344200 |
if (string) |
125
|
7 |
42 |
SvSETMAGIC(string); |
127
|
32 |
344216 |
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 |
100 |
XCPT_TRY_START |
203
|
381848 |
381719 |
for (i = 0; i < count; i++) |
214
|
100 |
381719 |
XCPT_CATCH |
216
|
100 |
100 |
for (i = 0; i < count; i++) |
217
|
0 |
100 |
if (sva[i]) |
222
|
100 |
0 |
XCPT_RETHROW; |
|
0 |
0 |
XCPT_RETHROW; |
229
|
0 |
381719 |
EXTEND(SP, count); |
231
|
381748 |
381719 |
for (i = 0; i < count; i++) |