| 786 | } |
| 787 | |
| 788 | void cbm_layout_free(cbm_layout_result_t *r) { |
| 789 | if (!r) |
| 790 | return; |
| 791 | for (int i = 0; i < r->node_count; i++) { |
| 792 | free((void *)r->nodes[i].label); |
| 793 | free((void *)r->nodes[i].name); |
| 794 | free((void *)r->nodes[i].qualified_name); |
| 795 | free((void *)r->nodes[i].file_path); |
| 796 | } |
| 797 | free(r->nodes); |
| 798 | for (int i = 0; i < r->edge_count; i++) |
| 799 | free((void *)r->edges[i].type); |
| 800 | free(r->edges); |
| 801 | free(r); |
| 802 | } |
| 803 | |
| 804 | char *cbm_layout_to_json(const cbm_layout_result_t *r) { |
| 805 | if (!r) |
no outgoing calls