Branch Coverage

GenerateFunctions.c
Criterion Covered Total %
branch 223 260 85.7


line true false branch
18 18 9274 if (b_inplace) {
27 150063 9292 for (i = 0; i < origlen; i++) {
31 142911 7152 if (c == '<' || c == '>')
7197 135714 if (c == '<' || c == '>')
33 7229 128485 else if (c == '&' && (!b_leaveknown || !GF_is_known_entity(sp, i, origlen, &maxentitylen)))
58 7171 else if (c == '&' && (!b_leaveknown || !GF_is_known_entity(sp, i, origlen, &maxentitylen)))
27 31 else if (c == '&' && (!b_leaveknown || !GF_is_known_entity(sp, i, origlen, &maxentitylen)))
35 7188 121328 else if (c == '"')
37 12838 108490 else if (b_lftobr && c == '\n')
756 12082 else if (b_lftobr && c == '\n')
39 12036 108536 else if (b_sptonbsp && c == ' ' && lastc == ' ') {
1432 10604 else if (b_sptonbsp && c == ' ' && lastc == ' ') {
715 717 else if (b_sptonbsp && c == ' ' && lastc == ' ') {
43 0 119857 } else if (GF_paranoia && (c == '{' || c == '}')) {
0 0 } else if (GF_paranoia && (c == '{' || c == '}')) {
0 0 } else if (GF_paranoia && (c == '{' || c == '}')) {
50 1003 8289 if (b_sptonbsp && origlen == 1 && sp[0] == ' ') {
34 969 if (b_sptonbsp && origlen == 1 && sp[0] == ' ') {
1 33 if (b_sptonbsp && origlen == 1 && sp[0] == ' ') {
63 18 9274 if (b_inplace) extrachars += maxentitylen;
66 18 9274 if (b_inplace) {
68 18 0 SvGROW(newstr, origlen + extrachars + 1);
9 9 SvGROW(newstr, origlen + extrachars + 1);
73 2171 7103 if (SvUTF8(str))
91 150063 9292 for (i = origlen-1; i >= 0; i--) {
94 7152 142911 if (c == '<') {
98 7197 135714 else if (c == '>') {
102 7229 128485 else if (c == '&' && (!b_leaveknown || !GF_is_known_entity(sp, i, origlen, 0))) {
58 7171 else if (c == '&' && (!b_leaveknown || !GF_is_known_entity(sp, i, origlen, 0))) {
27 31 else if (c == '&' && (!b_leaveknown || !GF_is_known_entity(sp, i, origlen, 0))) {
106 7188 121328 else if (c == '"') {
110 12838 108490 else if (b_lftobr && c == '\n') {
756 12082 else if (b_lftobr && c == '\n') {
114 12036 108536 else if (b_sptonbsp && c == ' ' && lastc == ' ') {
1432 10604 else if (b_sptonbsp && c == ' ' && lastc == ' ') {
715 717 else if (b_sptonbsp && c == ' ' && lastc == ' ') {
119 0 119857 } else if (GF_paranoia && (c == '{' || c == '}')) {
0 0 } else if (GF_paranoia && (c == '{' || c == '}')) {
0 0 } else if (GF_paranoia && (c == '{' || c == '}')) {
121 0 0 memcpy(newsp, c == '{' ? "{" : "}", 6);
127 1003 8289 if (b_sptonbsp && origlen == 1 && sp[0] == ' ') {
34 969 if (b_sptonbsp && origlen == 1 && sp[0] == ' ') {
1 33 if (b_sptonbsp && origlen == 1 && sp[0] == ' ') {
132 18 9274 if (b_inplace && maxentitylen)
10 8 if (b_inplace && maxentitylen)
135 0 9292 if (SvPV_nolen(newstr) != newsp) {
150 9037 2041 while ((val = hv_iternextsv(attrhv, &key, &keylen))) {
162 9037 2041 while ((val = hv_iternextsv(attrhv, &key, &keylen))) {
165 7192 1845 if (SvCUR(attrstr))
169 9037 0 if (keylen < 64) {
172 9037 0 i = (keylen && key[0] == '-' ? 1 : 0);
3 9034 i = (keylen && key[0] == '-' ? 1 : 0);
173 53692 9037 for (; i < keylen; i++)
174 14 53678 tmp[j++] = toLOWER(key[i]);
182 1803 7234 if (SvOK(val)) {
201 3 1012 estimatedlen = taglen + 3 + (b_addnewline ? 1 : 0);
204 1012 3 if (attrhv) {
209 1007 8 if (val) {
211 1003 4 if (b_escapeval)
219 4 1011 if (b_closetag)
228 1012 3 if (attrstr) {
229 907 105 if (SvCUR(attrstr)) {
235 4 1011 if (b_closetag)
240 1007 8 if (val) {
242 1003 4 if (b_escapeval)
249 3 1012 if (b_addnewline)
265 4 1278 if (b_inplace) {
275 15610 1282 for (i = 0; i < origlen; i++) {
278 14829 781 if (c <= 0x20 || c >= 0x80 || memchr(escsp, c, esclen)) {
13893 936 if (c <= 0x20 || c >= 0x80 || memchr(escsp, c, esclen)) {
2986 10907 if (c <= 0x20 || c >= 0x80 || memchr(escsp, c, esclen)) {
284 4 1278 if (b_inplace) {
288 4 0 SvGROW(newstr, origlen + extrachars + 1);
0 4 SvGROW(newstr, origlen + extrachars + 1);
307 15610 1282 for (i = origlen-1; i >= 0; i--) {
309 14829 781 if (c <= 0x20 || c >= 0x80 || memchr(escsp, c, esclen)) {
13893 936 if (c <= 0x20 || c >= 0x80 || memchr(escsp, c, esclen)) {
2986 10907 if (c <= 0x20 || c >= 0x80 || memchr(escsp, c, esclen)) {
318 0 1282 if (newsp != SvPV_nolen(newstr)) {
329 112 4 if (++i < origlen) {
331 22 90 if (sp[i] == '#') {
335 22 0 if (i+1 < origlen && (sp[i+1] == 'x' || sp[i+1] == 'X')) {
16 6 if (i+1 < origlen && (sp[i+1] == 'x' || sp[i+1] == 'X')) {
0 16 if (i+1 < origlen && (sp[i+1] == 'x' || sp[i+1] == 'X')) {
341 90 5 while (++i < origlen) {
342 85 5 if (sp[i] >= '0' && sp[i] <= '9') continue;
63 22 if (sp[i] >= '0' && sp[i] <= '9') continue;
343 14 13 if (is_hex && ((sp[i] >= 'a' && sp[i] <= 'f') || (sp[i] >= 'A' && sp[i] <= 'F'))) continue;
10 4 if (is_hex && ((sp[i] >= 'a' && sp[i] <= 'f') || (sp[i] >= 'A' && sp[i] <= 'F'))) continue;
0 10 if (is_hex && ((sp[i] >= 'a' && sp[i] <= 'f') || (sp[i] >= 'A' && sp[i] <= 'F'))) continue;
0 4 if (is_hex && ((sp[i] >= 'a' && sp[i] <= 'f') || (sp[i] >= 'A' && sp[i] <= 'F'))) continue;
0 0 if (is_hex && ((sp[i] >= 'a' && sp[i] <= 'f') || (sp[i] >= 'A' && sp[i] <= 'F'))) continue;
344 7 10 if (sp[i] == ';' || sp[i] == ' ') {
4 3 if (sp[i] == ';' || sp[i] == ' ') {
347 7 7 if (maxlen && (i - start > *maxlen)) *maxlen = i-start;
7 0 if (maxlen && (i - start > *maxlen)) *maxlen = i-start;
354 70 20 } else if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) {
0 70 } else if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) {
0 20 } else if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) {
0 0 } else if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) {
355 196 12 while (++i < origlen) {
356 138 58 if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) continue;
0 138 if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) continue;
0 58 if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) continue;
0 0 if ((sp[i] >= 'a' && sp[i] <= 'z') || (sp[i] >= 'A' && sp[i] <= 'Z')) continue;
359 20 38 if (sp[i] == ';' || sp[i] == ' ') {
10 10 if (sp[i] == ';' || sp[i] == ' ') {
362 24 24 if (maxlen && (i - start > *maxlen)) *maxlen = i-start;
16 8 if (maxlen && (i - start > *maxlen)) *maxlen = i-start;
377 19 9036 if (SvROK(val)) {
384 11 9044 if (valtype == SVt_PVAV) {
388 21 11 for (i = 0; i <= alen; i++) {
390 21 0 if ((av_val = av_fetch(aval, i, 0)) && SvOK(val = *av_val)) {
18 3 if ((av_val = av_fetch(aval, i, 0)) && SvOK(val = *av_val)) {
398 3 9041 if (valtype == SVt_PVHV) {
403 3 3 while ((val = hv_iternextsv(hval, &key, &keylen))) {
410 1804 7237 if (!SvOK(val)) return 0;
413 7235 2 if (SvPOK(val)) return SvCUR(val);
416 2 0 if (SvOK(val)) return (SvPV(val, vallen), vallen);
426 19 7233 if (SvROK(val)) {
434 11 7241 if (valtype == SVt_PVAV) {
437 21 11 for (i = 0; i <= alen; i++) {
439 21 0 if ((av_val = av_fetch(aval, i, 0)) && SvOK(val = *av_val)) {
18 3 if ((av_val = av_fetch(aval, i, 0)) && SvOK(val = *av_val)) {
441 10 8 if (i != alen) sv_catpvn(attrstr, " ", 1);
448 3 7238 if (valtype == SVt_PVHV) {
453 3 3 while ((hentry = hv_iternext(hval))) {
456 1 2 if (++i != hlen) sv_catpvn(attrstr, " ", 1);
462 1 7237 if (!SvOK(val)) return;
467 4 7233 if (no_escape) {