Branch Coverage

src/pdfmake_arena.c
Criterion Covered Total %
branch 52 100 52.0


line true false branch
25 141748 22959 for (i = 0; i < len; i++) {
35 0 1077 if (!b) return NULL;
44 856 806 while (b) {
57 0 992 if (!arena) return NULL;
60 0 992 if (!arena->head) {
70 992 0 if (!arena->names.names || !arena->names.hash) {
0 992 if (!arena->names.names || !arena->names.hash) {
85 0 806 if (!arena) return;
93 0 1 if (!arena) return;
96 1 0 if (arena->head && arena->head->next) {
0 1 if (arena->head && arena->head->next) {
102 1 0 if (arena->head) {
109 1 0 if (arena->names.names) {
112 1 0 if (arena->names.hash) {
129 0 28333 if (!arena) return NULL;
132 4 28329 if (aligned == 0) aligned = 8; /* Always return valid pointer for size=0. */
137 28333 0 if (blk && blk->used + aligned <= blk->cap) {
28248 85 if (blk && blk->used + aligned <= blk->cap) {
145 11 74 if (aligned > new_cap) {
150 0 85 if (!new_blk) return NULL;
153 85 0 if (blk) {
168 11865 0 if (ptr && size > 0) {
11865 0 if (ptr && size > 0) {
178 0 499 if (!s) return NULL;
181 499 0 if (dup) {
190 566 0 if (!src || len == 0) return NULL;
0 566 if (!src || len == 0) return NULL;
192 566 0 if (dup) {
210 0 0 if (!new_hash) return 0;
213 0 0 for (i = 0; i < t->names_len; i++) {
216 0 0 while (new_hash[idx].id != 0) {
235 0 0 if (!new_names) return 0;
252 22959 0 if (!arena || !bytes) return 0;
0 22959 if (!arena || !bytes) return 0;
259 15778 9050 while (t->hash[idx].id != 0) {
262 13909 1869 if (entry->hash == hash &&
263 13909 0 entry->len == len &&
264 13909 0 memcmp(entry->bytes, bytes, len) == 0) {
274 0 9050 if (t->names_len >= t->names_cap) {
275 0 0 if (!name_array_grow(arena)) return 0;
279 0 9050 if ((t->names_len + 1) * 10 > t->hash_cap * 7) {
280 0 0 if (!name_hash_grow(arena)) return 0;
283 0 0 while (t->hash[idx].id != 0) {
290 0 9050 if (!dup) return 0;
309 11252 0 if (!arena || id == 0 || id > arena->names.names_len) return NULL;
11252 0 if (!arena || id == 0 || id > arena->names.names_len) return NULL;
12 11240 if (!arena || id == 0 || id > arena->names.names_len) return NULL;
314 10550 0 if (!arena || id == 0 || id > arena->names.names_len) return 0;
10550 0 if (!arena || id == 0 || id > arena->names.names_len) return 0;
12 10538 if (!arena || id == 0 || id > arena->names.names_len) return 0;