| line |
true |
false |
branch |
|
79
|
0 |
209 |
PUSHMARK(SP); |
|
86
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
209 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
209 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
209 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
209 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
0 |
if (SvTRUE(ERRSV)) |
|
|
0 |
209 |
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)) |
|
89
|
0 |
0 |
printf ("Pro.xs: param tree code reference exited abnormally - %s\n", SvPV(ERRSV, n_a)); |
|
|
0 |
0 |
printf ("Pro.xs: param tree code reference exited abnormally - %s\n", SvPV(ERRSV, n_a)); |
|
|
0 |
0 |
printf ("Pro.xs: param tree code reference exited abnormally - %s\n", SvPV(ERRSV, n_a)); |
|
|
0 |
0 |
printf ("Pro.xs: param tree code reference exited abnormally - %s\n", SvPV(ERRSV, n_a)); |
|
|
0 |
0 |
printf ("Pro.xs: param tree code reference exited abnormally - %s\n", SvPV(ERRSV, n_a)); |
|
94
|
0 |
209 |
if (count != 1) |
|
112
|
0 |
731 |
if (valptr==NULL) return retval; |
|
115
|
12 |
719 |
SvGETMAGIC(SVval); |
|
|
0 |
12 |
SvGETMAGIC(SVval); |
|
116
|
0 |
731 |
if (SvOK(SVval) && SvROK(SVval)) { |
|
|
0 |
0 |
if (SvOK(SVval) && SvROK(SVval)) { |
|
|
0 |
0 |
if (SvOK(SVval) && SvROK(SVval)) { |
|
|
12 |
719 |
if (SvOK(SVval) && SvROK(SVval)) { |
|
117
|
7 |
5 |
if (SvTYPE(SvRV(SVval))==SVt_PVCV) { |
|
119
|
0 |
5 |
} else if(SvTYPE(SvRV(SVval))==SVt_PV) { |
|
122
|
0 |
12 |
SvGETMAGIC(SVval); |
|
|
0 |
0 |
SvGETMAGIC(SVval); |
|
124
|
0 |
731 |
if (!SvOK(SVval)) return retval; |
|
|
0 |
0 |
if (!SvOK(SVval)) return retval; |
|
|
0 |
0 |
if (!SvOK(SVval)) return retval; |
|
126
|
0 |
731 |
if (((struct perl_callback_state*) callback_state)->force_untaint && SVval && SvTAINTED(SVval)) |
|
|
0 |
0 |
if (((struct perl_callback_state*) callback_state)->force_untaint && SVval && SvTAINTED(SVval)) |
|
|
0 |
0 |
if (((struct perl_callback_state*) callback_state)->force_untaint && SVval && SvTAINTED(SVval)) |
|
|
0 |
0 |
if (((struct perl_callback_state*) callback_state)->force_untaint && SVval && SvTAINTED(SVval)) |
|
129
|
672 |
59 |
retval.begin=SvPV(SVval, len); |
|
138
|
0 |
304 |
if (valptr==NULL) return 0; |
|
140
|
208 |
96 |
if (SvROK(SVval)) { |
|
141
|
202 |
6 |
if ((SvTYPE(SvRV(SVval)) == SVt_PVCV)) { |
|
145
|
6 |
0 |
if ((SvTYPE(SvRV(SVval)) == SVt_PVAV) |
|
146
|
0 |
6 |
&& (av_len((AV *)SvRV(SVval))<0)) { |
|
152
|
0 |
298 |
SvGETMAGIC(SVval); |
|
|
0 |
0 |
SvGETMAGIC(SVval); |
|
153
|
298 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
298 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
298 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
90 |
208 |
if(SvTRUE(SVval)) return 1; |
|
|
90 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
90 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
208 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
208 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
109 |
99 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
109 |
if(SvTRUE(SVval)) return 1; |
|
|
0 |
0 |
if(SvTRUE(SVval)) return 1; |
|
|
189 |
109 |
if(SvTRUE(SVval)) return 1; |
|
161
|
0 |
75 |
SvGETMAGIC(val); |
|
|
0 |
0 |
SvGETMAGIC(val); |
|
162
|
75 |
0 |
if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVAV)) return 0; |
|
|
0 |
75 |
if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVAV)) return 0; |
|
169
|
0 |
75 |
SvGETMAGIC((SV *)loops_AV); |
|
|
0 |
0 |
SvGETMAGIC((SV *)loops_AV); |
|
178
|
0 |
187 |
if (arrayvalptr==NULL) return NULL; |
|
180
|
2 |
185 |
SvGETMAGIC(val); |
|
|
0 |
2 |
SvGETMAGIC(val); |
|
181
|
187 |
0 |
if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVHV)) { |
|
|
0 |
187 |
if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVHV)) { |
|
198
|
0 |
0 |
if (prevfilename) { |
|
206
|
0 |
0 |
PUSHMARK(SP) ; |
|
207
|
0 |
0 |
XPUSHs((SV*)PerlSelfHTMLTemplatePro); |
|
208
|
0 |
0 |
XPUSHs(perlretval); |
|
209
|
0 |
0 |
XPUSHs(perlprevfile); |
|
213
|
0 |
0 |
if (count != 1) croak("Big troublen") ; |
|
216
|
0 |
0 |
if (SvOK(perlretval)) { |
|
|
0 |
0 |
if (SvOK(perlretval)) { |
|
|
0 |
0 |
if (SvOK(perlretval)) { |
|
217
|
0 |
0 |
filepath = SvPV(perlretval, len); |
|
224
|
0 |
0 |
FREETMPS ; |
|
240
|
0 |
9 |
PUSHMARK(SP) ; |
|
241
|
0 |
9 |
XPUSHs(((struct perl_callback_state*)callback_state)->perl_obj_self_ptr); |
|
242
|
0 |
9 |
XPUSHs(perlretval); |
|
246
|
0 |
9 |
if (count != 1) croak("Big troublen") ; |
|
249
|
0 |
9 |
if (SvOK(templateptr) && SvROK(templateptr)) { |
|
|
0 |
0 |
if (SvOK(templateptr) && SvROK(templateptr)) { |
|
|
0 |
0 |
if (SvOK(templateptr) && SvROK(templateptr)) { |
|
|
9 |
0 |
if (SvOK(templateptr) && SvROK(templateptr)) { |
|
250
|
9 |
0 |
tmpl.begin = SvPV(SvRV(templateptr), len); |
|
258
|
9 |
0 |
FREETMPS ; |
|
281
|
70 |
0 |
if (NULL!=arglist) { |
|
326
|
0 |
70 |
if (hashvalptr==NULL) { |
|
330
|
70 |
0 |
} else if (! SvROK(*((SV**) hashvalptr)) || (SvTYPE(SvRV(*((SV**) hashvalptr))) != SVt_PVCV)) { |
|
|
0 |
70 |
} else if (! SvROK(*((SV**) hashvalptr)) || (SvTYPE(SvRV(*((SV**) hashvalptr))) != SVt_PVCV)) { |
|
339
|
0 |
70 |
PUSHMARK(SP) ; |
|
340
|
88 |
70 |
for (i=0;i<=arrlen;i++) { |
|
342
|
88 |
0 |
if (arrval) XPUSHs(*arrval); |
|
|
0 |
88 |
if (arrval) XPUSHs(*arrval); |
|
348
|
70 |
0 |
if (numretval) { |
|
350
|
0 |
70 |
SvGETMAGIC(svretval); |
|
|
0 |
0 |
SvGETMAGIC(svretval); |
|
351
|
4 |
66 |
if (SvOK(svretval)) { |
|
|
4 |
0 |
if (SvOK(svretval)) { |
|
|
0 |
4 |
if (SvOK(svretval)) { |
|
352
|
1 |
65 |
if (SvIOK(svretval)) { |
|
353
|
1 |
0 |
tmplpro_set_expr_as_int64(exprval,SvIV(svretval)); |
|
354
|
0 |
65 |
} else if (SvNOK(svretval)) { |
|
355
|
0 |
0 |
tmplpro_set_expr_as_double(exprval,SvNV(svretval)); |
|
358
|
65 |
0 |
strval =SvPV(svretval, len); |
|
367
|
0 |
4 |
if (debuglevel>1) warn ("user defined function returned undef\n"); |
|
370
|
0 |
0 |
if (debuglevel) warn ("user defined function returned nothing\n"); |
|
373
|
70 |
0 |
FREETMPS ; |
|
384
|
827 |
3214 |
if (hashvalptr==NULL) return; |
|
385
|
3214 |
0 |
setfunc(param,SvIV(*hashvalptr)); |
|
391
|
449 |
898 |
if (hashvalptr==NULL) return 0; |
|
392
|
898 |
0 |
return SvIV(*hashvalptr); |
|
401
|
896 |
451 |
if (hashvalptr==NULL) return retval; |
|
402
|
216 |
235 |
if (SvROK(*hashvalptr)) { |
|
404
|
216 |
0 |
begin=SvPV(SvRV(*hashvalptr),len); |
|
406
|
0 |
235 |
if (! SvPOK(*hashvalptr)) return retval; |
|
407
|
235 |
0 |
begin=SvPV(*hashvalptr,len); |
|
424
|
449 |
0 |
if (valptr!=NULL && SvROK(*valptr) && (SvTYPE(SvRV(*valptr)) == SVt_PVAV) ) { |
|
|
449 |
0 |
if (valptr!=NULL && SvROK(*valptr) && (SvTYPE(SvRV(*valptr)) == SVt_PVAV) ) { |
|
|
449 |
0 |
if (valptr!=NULL && SvROK(*valptr) && (SvTYPE(SvRV(*valptr)) == SVt_PVAV) ) { |
|
427
|
390 |
59 |
if (amax<0) { |
|
432
|
59 |
0 |
path = (char**) SvGROW(store, sizeof(char*)*(amax+2)); |
|
|
0 |
59 |
path = (char**) SvGROW(store, sizeof(char*)*(amax+2)); |
|
436
|
68 |
59 |
for (i=0; i<=amax;i++) { |
|
438
|
68 |
0 |
if (valptr!=NULL) { |
|
439
|
68 |
0 |
*j=SvPV_nolen(*valptr); |
|
493
|
449 |
0 |
if ((!SvROK(PerlSelfPtr)) || (SvTYPE(SvRV(PerlSelfPtr)) != SVt_PVHV)) |
|
|
0 |
449 |
if ((!SvROK(PerlSelfPtr)) || (SvTYPE(SvRV(PerlSelfPtr)) != SVt_PVHV)) |
|
504
|
216 |
233 |
if (filename.begin==NULL && scalarref.begin==NULL) { |
|
|
0 |
216 |
if (filename.begin==NULL && scalarref.begin==NULL) { |
|
510
|
449 |
0 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVHV)) |
|
|
449 |
0 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVHV)) |
|
|
0 |
449 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVHV)) |
|
518
|
449 |
0 |
if (hashvalptr!=NULL && SvROK(*hashvalptr) && (SvTYPE(SvRV(*hashvalptr)) == SVt_PVAV)) { |
|
|
449 |
0 |
if (hashvalptr!=NULL && SvROK(*hashvalptr) && (SvTYPE(SvRV(*hashvalptr)) == SVt_PVAV)) { |
|
|
449 |
0 |
if (hashvalptr!=NULL && SvROK(*hashvalptr) && (SvTYPE(SvRV(*hashvalptr)) == SVt_PVAV)) { |
|
522
|
2 |
449 |
while (i>=0) { |
|
524
|
2 |
0 |
if (arrayvalptr!=NULL && SvROK(*arrayvalptr)) |
|
|
2 |
0 |
if (arrayvalptr!=NULL && SvROK(*arrayvalptr)) |
|
531
|
449 |
0 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVHV)) |
|
|
449 |
0 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVHV)) |
|
|
0 |
449 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVHV)) |
|
538
|
449 |
0 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVAV)) |
|
|
449 |
0 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVAV)) |
|
|
0 |
449 |
if (!hashvalptr || !SvROK(*hashvalptr) || (SvTYPE(SvRV(*hashvalptr)) != SVt_PVAV)) |
|
540
|
5 |
444 |
if (av_len((AV*)SvRV(*hashvalptr))>=0) tmplpro_set_option_filters(param, 1); |
|
543
|
375 |
74 |
if (!get_integer_from_hash(aTHX_ SelfHash,"case_sensitive")) { |
|
560
|
2 |
447 |
if (tmpstring && *tmpstring) { |
|
|
2 |
0 |
if (tmpstring && *tmpstring) { |
|
585
|
0 |
449 |
if (get_integer_from_hash(aTHX_ SelfHash,"__use_perl_find_file")) { |
|
633
|
0 |
71 |
if (debuglevel>0) warn ("Pro.xs: entered exec_tmpl self=%p",self_ptr); |
|
635
|
0 |
71 |
SvGETMAGIC(possible_output); |
|
|
0 |
0 |
SvGETMAGIC(possible_output); |
|
636
|
0 |
71 |
if (!SvOK(possible_output)) { |
|
|
0 |
0 |
if (!SvOK(possible_output)) { |
|
|
0 |
0 |
if (!SvOK(possible_output)) { |
|
640
|
0 |
71 |
if (output_stream == NULL){ |
|
650
|
0 |
71 |
if (RETVAL!=0) warn ("Pro.xs: non-zero exit code %d",RETVAL); |
|
665
|
0 |
378 |
if (debuglevel>0) warn ("Pro.xs: entered exec_tmpl_string self=%p",self_ptr); |
|
672
|
0 |
378 |
if (retstate!=0) warn ("Pro.xs: non-zero exit code %d",retstate); |
|
692
|
0 |
0 |
if (retstate!=0) warn ("Pro.xs: non-zero exit code %d",retstate); |