Branch Coverage

tags.c
Criterion Covered Total %
branch 95 150 63.3


line true false branch
114 273 874 if (tags->tags == NULL) {
117 0 273 if (!tags->tags)
121 8 866 else if (tags->count == tags->alloc) {
124 0 8 if (!newtags) {
130 1144 3 if (name) {
132 0 1144 if (!work.name)
136 484 663 if (data) {
137 211 273 if (size == -1)
140 0 484 if (!work.data) {
141 0 0 if (work.name) myfree(work.name);
168 273 1219 if (tags->tags) {
170 1133 273 for (i = 0; i < tags->count; ++i) {
171 1132 1 if (tags->tags[i].name)
173 478 655 if (tags->tags[i].data)
195 463 221 if (tags->tags) {
196 1563 229 while (start < tags->count) {
197 1555 8 if (tags->tags[start].name && strcmp(name, tags->tags[start].name) == 0) {
234 1321 if (tags->tags[start].name && strcmp(name, tags->tags[start].name) == 0) {
222 5 0 if (tags->tags) {
223 14 1 while (start < tags->count) {
224 4 10 if (tags->tags[start].code == code) {
248 14 0 if (tags->tags && entry >= 0 && entry < tags->count) {
14 0 if (tags->tags && entry >= 0 && entry < tags->count) {
14 0 if (tags->tags && entry >= 0 && entry < tags->count) {
252 12 2 if (old.name)
254 6 8 if (old.data)
280 467 95 if (tags->tags) {
281 918 467 for (i = tags->count-1; i >= 0; --i) {
282 916 2 if (tags->tags[i].name && strcmp(name, tags->tags[i].name) == 0) {
12 904 if (tags->tags[i].name && strcmp(name, tags->tags[i].name) == 0) {
308 2 1 if (tags->tags) {
309 5 2 for (i = tags->count-1; i >= 0; --i) {
310 1 4 if (tags->tags[i].code == code) {
341 50 0 if (name) {
342 24 26 if (!i_tags_find(tags, name, 0, &index))
346 0 0 if (!i_tags_findn(tags, code, 0, &index))
350 25 1 if (entry->data)
391 0 116 if (places < 0)
393 0 116 else if (places > 30)
397 116 0 if (name)
423 208 0 if (name) {
424 172 36 if (!i_tags_find(tags, name, 0, &index))
428 0 0 if (!i_tags_findn(tags, code, 0, &index))
432 5 31 if (entry->data)
447 12 0 if (((result == LONG_MIN || result == LONG_MAX) && errno == ERANGE)
0 12 if (((result == LONG_MIN || result == LONG_MAX) && errno == ERANGE)
0 0 if (((result == LONG_MIN || result == LONG_MAX) && errno == ERANGE)
448 0 12 || myend == data) {
469 9 3 while (i < maxcount-1) {
470 0 9 if (!parse_long(data, &data, out))
474 0 9 if (*data != ',')
478 0 3 if (!parse_long(data, &data, out))
490 0 3 if (memcmp(data, "color(", 6))
494 0 3 if (count < 3)
496 12 3 for (i = 0; i < count; ++i)
498 0 3 if (count < 4)
524 47 0 if (name) {
525 44 3 if (!i_tags_find(tags, name, 0, &index))
529 0 0 if (!i_tags_findn(tags, code, 0, &index))
533 0 3 if (!entry->data)
536 0 3 if (!parse_color(entry->data, &end, value))
560 0 0 if (name)
593 20 1 if (name) {
594 17 3 if (!i_tags_find(tags, name, 0, &index))
598 0 1 if (!i_tags_findn(tags, code, 0, &index))
602 3 1 if (entry->data) {
605 0 3 if (cpsize == value_size)
663 0 0 for (i = 0; i < tags->count; ++i) {
666 0 0 if (tag->name)
669 0 0 if (tag->data) {
672 0 0 for (pos = 0; pos < tag->size; ++pos) {
673 0 0 if (tag->data[pos] == '\\' || tag->data[pos] == '\'') {
0 0 if (tag->data[pos] == '\\' || tag->data[pos] == '\'') {
677 0 0 else if (tag->data[pos] < ' ' || tag->data[pos] >= '\x7E')
0 0 else if (tag->data[pos] < ' ' || tag->data[pos] >= '\x7E')