Branch Coverage

tags.c
Criterion Covered Total %
branch 94 154 61.0


line true false branch
114 273 886 if (tags->tags == NULL) {
117 0 273 if (!tags->tags)
121 9 877 else if (tags->count == tags->alloc) {
124 0 9 if (!newtags) {
130 1156 3 if (name) {
132 0 1156 if (!work.name)
136 490 669 if (data) {
137 211 279 if (size == -1)
140 0 490 if (!work.data) {
141 0 0 if (work.name) myfree(work.name);
168 273 1223 if (tags->tags) {
170 1145 273 for (i = 0; i < tags->count; ++i) {
171 1144 1 if (tags->tags[i].name)
173 485 660 if (tags->tags[i].data)
195 487 221 if (tags->tags) {
196 1689 241 while (start < tags->count) {
197 1681 8 if (tags->tags[start].name && strcmp(name, tags->tags[start].name) == 0) {
246 1435 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 5 9 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 0 36 if (entry->data) {
437 0 0 if (errno)
440 0 0 if ((int)work != work) {
461 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)
462 0 12 || myend == data) {
483 9 3 while (i < maxcount-1) {
484 0 9 if (!parse_long(data, &data, out))
488 0 9 if (*data != ',')
492 0 3 if (!parse_long(data, &data, out))
504 0 3 if (memcmp(data, "color(", 6))
508 0 3 if (count < 3)
510 12 3 for (i = 0; i < count; ++i)
512 0 3 if (count < 4)
538 47 0 if (name) {
539 44 3 if (!i_tags_find(tags, name, 0, &index))
543 0 0 if (!i_tags_findn(tags, code, 0, &index))
547 0 3 if (!entry->data)
550 0 3 if (!parse_color(entry->data, &end, value))
574 0 0 if (name)
607 20 1 if (name) {
608 17 3 if (!i_tags_find(tags, name, 0, &index))
612 0 1 if (!i_tags_findn(tags, code, 0, &index))
616 3 1 if (entry->data) {
619 0 3 if (cpsize == value_size)
677 0 0 for (i = 0; i < tags->count; ++i) {
680 0 0 if (tag->name)
683 0 0 if (tag->data) {
686 0 0 for (pos = 0; pos < tag->size; ++pos) {
687 0 0 if (tag->data[pos] == '\\' || tag->data[pos] == '\'') {
0 0 if (tag->data[pos] == '\\' || tag->data[pos] == '\'') {
691 0 0 else if (tag->data[pos] < ' ' || tag->data[pos] >= '\x7E')
0 0 else if (tag->data[pos] < ' ' || tag->data[pos] >= '\x7E')