| 1508 | } |
| 1509 | |
| 1510 | struct gossmap_chan *gossmap_nth_chan(const struct gossmap *map, |
| 1511 | const struct gossmap_node *node, |
| 1512 | u32 n, |
| 1513 | int *which_half) |
| 1514 | { |
| 1515 | struct gossmap_chan *chan; |
| 1516 | |
| 1517 | assert(n < node->num_chans); |
| 1518 | assert(node->chan_idxs[n] < map->num_chan_arr); |
| 1519 | chan = map->chan_arr + node->chan_idxs[n]; |
| 1520 | |
| 1521 | if (which_half) { |
| 1522 | if (chan->half[0].nodeidx == gossmap_node_idx(map, node)) |
| 1523 | *which_half = 0; |
| 1524 | else { |
| 1525 | assert(chan->half[1].nodeidx == gossmap_node_idx(map, node)); |
| 1526 | *which_half = 1; |
| 1527 | } |
| 1528 | } |
| 1529 | return chan; |
| 1530 | } |
| 1531 | |
| 1532 | struct gossmap_node *gossmap_nth_node(const struct gossmap *map, |
| 1533 | const struct gossmap_chan *chan, |