Branch Coverage

Pro.xs
Criterion Covered Total %
branch 154 384 40.1


line true false branch
78 0 209 PUSHMARK(SP);
85 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))
88 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));
93 0 209 if (count != 1)
111 0 731 if (valptr==NULL) return retval;
113 12 719 SvGETMAGIC(SVval);
0 12 SvGETMAGIC(SVval);
114 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)) {
115 7 5 if (SvTYPE(SvRV(SVval))==SVt_PVCV) {
117 0 5 } else if(SvTYPE(SvRV(SVval))==SVt_PV) {
120 0 12 SvGETMAGIC(SVval);
0 0 SvGETMAGIC(SVval);
122 0 731 if (!SvOK(SVval)) return retval;
0 0 if (!SvOK(SVval)) return retval;
0 0 if (!SvOK(SVval)) return retval;
124 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))
127 672 59 retval.begin=SvPV(SVval, len);
136 0 304 if (valptr==NULL) return 0;
138 208 96 if (SvROK(SVval)) {
139 202 6 if ((SvTYPE(SvRV(SVval)) == SVt_PVCV)) {
143 6 0 if ((SvTYPE(SvRV(SVval)) == SVt_PVAV)
144 0 6 && (av_len((AV *)SvRV(SVval))<0)) {
150 0 298 SvGETMAGIC(SVval);
0 0 SvGETMAGIC(SVval);
151 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;
106 102 if(SvTRUE(SVval)) return 1;
0 106 if(SvTRUE(SVval)) return 1;
0 0 if(SvTRUE(SVval)) return 1;
192 106 if(SvTRUE(SVval)) return 1;
159 0 75 SvGETMAGIC(val);
0 0 SvGETMAGIC(val);
160 75 0 if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVAV)) return 0;
0 75 if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVAV)) return 0;
167 0 75 SvGETMAGIC((SV *)loops_AV);
0 0 SvGETMAGIC((SV *)loops_AV);
176 0 187 if (arrayvalptr==NULL) return NULL;
178 2 185 SvGETMAGIC(val);
0 2 SvGETMAGIC(val);
179 187 0 if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVHV)) {
0 187 if ((!SvROK(val)) || (SvTYPE(SvRV(val)) != SVt_PVHV)) {
196 0 0 if (prevfilename) {
203 0 0 PUSHMARK(SP) ;
204 0 0 XPUSHs((SV*)PerlSelfHTMLTemplatePro);
205 0 0 XPUSHs(perlretval);
206 0 0 XPUSHs(perlprevfile);
210 0 0 if (count != 1) croak("Big troublen") ;
213 0 0 if (SvOK(perlretval)) {
0 0 if (SvOK(perlretval)) {
0 0 if (SvOK(perlretval)) {
214 0 0 filepath = SvPV(perlretval, len);
221 0 0 FREETMPS ;
237 0 9 PUSHMARK(SP) ;
238 0 9 XPUSHs(((struct perl_callback_state*)callback_state)->perl_obj_self_ptr);
239 0 9 XPUSHs(perlretval);
243 0 9 if (count != 1) croak("Big troublen") ;
246 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)) {
247 9 0 tmpl.begin = SvPV(SvRV(templateptr), len);
255 9 0 FREETMPS ;
278 70 0 if (NULL!=arglist) {
323 0 70 if (hashvalptr==NULL) {
327 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)) {
336 0 70 PUSHMARK(SP) ;
337 88 70 for (i=0;i<=arrlen;i++) {
339 88 0 if (arrval) XPUSHs(*arrval);
0 88 if (arrval) XPUSHs(*arrval);
345 70 0 if (numretval) {
347 0 70 SvGETMAGIC(svretval);
0 0 SvGETMAGIC(svretval);
348 4 66 if (SvOK(svretval)) {
4 0 if (SvOK(svretval)) {
0 4 if (SvOK(svretval)) {
349 1 65 if (SvIOK(svretval)) {
350 1 0 tmplpro_set_expr_as_int64(exprval,SvIV(svretval));
351 0 65 } else if (SvNOK(svretval)) {
352 0 0 tmplpro_set_expr_as_double(exprval,SvNV(svretval));
355 65 0 strval =SvPV(svretval, len);
364 0 4 if (debuglevel>1) warn ("user defined function returned undef\n");
367 0 0 if (debuglevel) warn ("user defined function returned nothing\n");
370 70 0 FREETMPS ;
381 827 3214 if (hashvalptr==NULL) return;
382 3214 0 setfunc(param,SvIV(*hashvalptr));
388 449 898 if (hashvalptr==NULL) return 0;
389 898 0 return SvIV(*hashvalptr);
398 896 451 if (hashvalptr==NULL) return retval;
399 216 235 if (SvROK(*hashvalptr)) {
401 216 0 begin=SvPV(SvRV(*hashvalptr),len);
403 0 235 if (! SvPOK(*hashvalptr)) return retval;
404 235 0 begin=SvPV(*hashvalptr,len);
421 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) ) {
424 390 59 if (amax<0) {
428 59 0 path = (char**) SvGROW(store, sizeof(char*)*(amax+2));
0 59 path = (char**) SvGROW(store, sizeof(char*)*(amax+2));
433 68 59 for (i=0; i<=amax;i++) {
435 68 0 if (valptr!=NULL) {
436 68 0 *j=SvPV_nolen(*valptr);
490 449 0 if ((!SvROK(PerlSelfPtr)) || (SvTYPE(SvRV(PerlSelfPtr)) != SVt_PVHV))
0 449 if ((!SvROK(PerlSelfPtr)) || (SvTYPE(SvRV(PerlSelfPtr)) != SVt_PVHV))
501 216 233 if (filename.begin==NULL && scalarref.begin==NULL) {
0 216 if (filename.begin==NULL && scalarref.begin==NULL) {
507 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))
515 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)) {
519 2 449 while (i>=0) {
521 2 0 if (arrayvalptr!=NULL && SvROK(*arrayvalptr))
2 0 if (arrayvalptr!=NULL && SvROK(*arrayvalptr))
528 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))
535 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))
537 5 444 if (av_len((AV*)SvRV(*hashvalptr))>=0) tmplpro_set_option_filters(param, 1);
540 375 74 if (!get_integer_from_hash(aTHX_ SelfHash,"case_sensitive")) {
557 2 447 if (tmpstring && *tmpstring) {
2 0 if (tmpstring && *tmpstring) {
582 0 449 if (get_integer_from_hash(aTHX_ SelfHash,"__use_perl_find_file")) {
630 0 71 if (debuglevel>0) warn ("Pro.xs: entered exec_tmpl self=%p",self_ptr);
632 0 71 SvGETMAGIC(possible_output);
0 0 SvGETMAGIC(possible_output);
633 0 71 if (!SvOK(possible_output)) {
0 0 if (!SvOK(possible_output)) {
0 0 if (!SvOK(possible_output)) {
637 0 71 if (output_stream == NULL){
647 0 71 if (RETVAL!=0) warn ("Pro.xs: non-zero exit code %d",RETVAL);
662 0 378 if (debuglevel>0) warn ("Pro.xs: entered exec_tmpl_string self=%p",self_ptr);
669 0 378 if (retstate!=0) warn ("Pro.xs: non-zero exit code %d",retstate);
689 0 0 if (retstate!=0) warn ("Pro.xs: non-zero exit code %d",retstate);