| 642 | } |
| 643 | |
| 644 | static struct line_log_data * |
| 645 | line_log_data_copy(struct line_log_data *r) |
| 646 | { |
| 647 | struct line_log_data *ret = NULL; |
| 648 | struct line_log_data *tmp = NULL, *prev = NULL; |
| 649 | |
| 650 | assert(r); |
| 651 | ret = tmp = prev = line_log_data_copy_one(r); |
| 652 | r = r->next; |
| 653 | while (r) { |
| 654 | tmp = line_log_data_copy_one(r); |
| 655 | prev->next = tmp; |
| 656 | prev = tmp; |
| 657 | r = r->next; |
| 658 | } |
| 659 | |
| 660 | return ret; |
| 661 | } |
| 662 | |
| 663 | /* merge two range sets across files */ |
| 664 | static struct line_log_data *line_log_data_merge(struct line_log_data *a, |
no test coverage detected