| 102 | } |
| 103 | |
| 104 | static void pkg_entries_push(cbm_pkg_entries_t *e, char *pkg_name, char *entry_rel) { |
| 105 | if (e->count >= e->cap) { |
| 106 | int new_cap = e->cap == 0 ? PKGMAP_INIT_CAP : e->cap * SKIP_ONE * PAIR_LEN; |
| 107 | cbm_pkg_entry_t *tmp = realloc(e->items, new_cap * sizeof(cbm_pkg_entry_t)); |
| 108 | if (!tmp) { |
| 109 | free(pkg_name); |
| 110 | free(entry_rel); |
| 111 | return; |
| 112 | } |
| 113 | e->items = tmp; |
| 114 | e->cap = new_cap; |
| 115 | } |
| 116 | e->items[e->count].pkg_name = pkg_name; |
| 117 | e->items[e->count].entry_rel = entry_rel; |
| 118 | e->count++; |
| 119 | } |
| 120 | |
| 121 | void cbm_pkg_entries_free(cbm_pkg_entries_t *e) { |
| 122 | for (int i = 0; i < e->count; i++) { |
no outgoing calls
no test coverage detected