Branch Coverage

util.c
Criterion Covered Total %
branch 74 90 82.2


line true false branch
21 3 119 if ( ! SvOK(pval) ) {
3 0 if ( ! SvOK(pval) ) {
3 0 if ( ! SvOK(pval) ) {
27 111 8 if ( ! SvROK(pval) ) {
33 2 6 if (SvTYPE(deref) != SVt_PVAV) {
50 13 6 for (j = 0; j < count; ++j) {
61 0 9 if (want == G_VOID) {
68 3 6 if (want == G_SCALAR) {
70 0 3 EXTEND(SP, 1);
75 2 7 if (count <= 0) {
80 5 2 if (want == G_ARRAY) {
85 5 0 EXTEND(SP, count);
0 5 EXTEND(SP, count);
87 13 5 for (j = 0; j < list->ulen; ++j) {
103 6 83 if (want == G_VOID) {
110 0 83 if (count <= 0) {
111 0 0 if (want == G_ARRAY) {
113 0 0 EXTEND(SP, 1);
124 38 45 if (want == G_SCALAR) {
126 0 38 EXTEND( SP, 1 );
128 34 4 if ( count == 1 ) {
143 11 4 for (j = 0; j < list->ulen; ++j) {
146 2 9 SvPV( (SV*)node->ptr, len ); /* We just need the length */
156 11 4 for (j = 0; j < list->ulen; ++j) {
161 11 0 char* str = SvPV( (SV*)node->ptr, len );
163 7 4 if (rpos > 0) {
181 45 38 if (want == G_ARRAY) {
185 45 0 EXTEND(SP, count);
0 45 EXTEND(SP, count);
186 58 45 for (j = 0; j < list->ulen; ++j) {
202 28 2 if (sort) {
206 120 30 for (j = 0; j < h->ulen; ++j) {
212 129 120 for (k = 0; k < pl->ulen; ++k) {
214 121 8 const char* value = SvPV_nolen( (SV*) pn->ptr );
224 120 30 for (j = 0; j < h->ulen; ++j) {
232 129 120 for (k = 0; k < pl->ulen; ++k) {
239 128 1 value = SvPV_nolen( (SV*) pn->ptr );
252 166 140 for (k = 0; str[k] != '\0'; ++k) {
263 782 129 for (j = 0; str[j] != '\0'; ++j) {
264 0 782 if (pos >= len) {
267 46 736 if (isspace(str[j])) {
268 30 16 if (saw_newline) {
271 13 17 if (str[j] == '\n') {
280 11 725 if (saw_newline) {
289 127 2 if (! saw_newline) {