| 77 | } |
| 78 | |
| 79 | void bitmap_writer_free(struct bitmap_writer *writer) |
| 80 | { |
| 81 | uint32_t i; |
| 82 | struct pseudo_merge_commit_idx *idx; |
| 83 | |
| 84 | if (!writer) |
| 85 | return; |
| 86 | |
| 87 | ewah_free(writer->commits); |
| 88 | ewah_free(writer->trees); |
| 89 | ewah_free(writer->blobs); |
| 90 | ewah_free(writer->tags); |
| 91 | |
| 92 | kh_destroy_oid_map(writer->bitmaps); |
| 93 | free(writer->pos_cache); |
| 94 | |
| 95 | kh_foreach_value(writer->pseudo_merge_commits, idx, |
| 96 | free_pseudo_merge_commit_idx(idx)); |
| 97 | kh_destroy_oid_map(writer->pseudo_merge_commits); |
| 98 | string_list_clear_func(&writer->pseudo_merge_groups, |
| 99 | pseudo_merge_group_release_cb); |
| 100 | |
| 101 | for (i = 0; i < writer->selected_nr; i++) { |
| 102 | struct bitmapped_commit *bc = &writer->selected[i]; |
| 103 | if (bc->write_as != bc->bitmap) |
| 104 | ewah_free(bc->write_as); |
| 105 | ewah_free(bc->bitmap); |
| 106 | ewah_free(bc->pseudo_merge_parents); |
| 107 | } |
| 108 | free(writer->selected); |
| 109 | } |
| 110 | |
| 111 | void bitmap_writer_show_progress(struct bitmap_writer *writer, int show) |
| 112 | { |