| 715 | } |
| 716 | |
| 717 | int midx_preferred_pack(struct multi_pack_index *m, uint32_t *pack_int_id) |
| 718 | { |
| 719 | if (m->preferred_pack_idx == -1) { |
| 720 | uint32_t midx_pos; |
| 721 | if (load_midx_revindex(m)) { |
| 722 | m->preferred_pack_idx = -2; |
| 723 | return -1; |
| 724 | } |
| 725 | |
| 726 | midx_pos = pack_pos_to_midx(m, m->num_objects_in_base); |
| 727 | |
| 728 | m->preferred_pack_idx = nth_midxed_pack_int_id(m, midx_pos); |
| 729 | |
| 730 | } else if (m->preferred_pack_idx == -2) |
| 731 | return -1; /* no revindex */ |
| 732 | |
| 733 | *pack_int_id = m->preferred_pack_idx; |
| 734 | return 0; |
| 735 | } |
| 736 | |
| 737 | int prepare_multi_pack_index_one(struct odb_source *source) |
| 738 | { |