Freelist links through node_off of unused entries. */
| 265 | |
| 266 | /* Freelist links through node_off of unused entries. */ |
| 267 | static struct gossmap_node *next_free_node(struct gossmap *map) |
| 268 | { |
| 269 | size_t f; |
| 270 | |
| 271 | if (map->freed_nodes == UINT_MAX) { |
| 272 | /* Double in size, add second half to free list */ |
| 273 | size_t n = tal_count(map->node_arr); |
| 274 | map->num_node_arr *= 2; |
| 275 | tal_resize(&map->node_arr, n * 2); |
| 276 | map->freed_nodes = init_node_arr(map->node_arr, n); |
| 277 | } |
| 278 | |
| 279 | f = map->freed_nodes; |
| 280 | map->freed_nodes = map->node_arr[f].nann_off; |
| 281 | return &map->node_arr[f]; |
| 282 | } |
| 283 | |
| 284 | static u32 new_node(struct gossmap *map) |
| 285 | { |
no test coverage detected