| 97 | } |
| 98 | |
| 99 | int load_pack_mtimes(struct packed_git *p) |
| 100 | { |
| 101 | char *mtimes_name = NULL; |
| 102 | int ret = 0; |
| 103 | |
| 104 | if (!p->is_cruft) |
| 105 | return ret; /* not a cruft pack */ |
| 106 | if (p->mtimes_map) |
| 107 | return ret; /* already loaded */ |
| 108 | |
| 109 | ret = open_pack_index(p); |
| 110 | if (ret < 0) |
| 111 | goto cleanup; |
| 112 | |
| 113 | mtimes_name = pack_mtimes_filename(p); |
| 114 | ret = load_pack_mtimes_file(mtimes_name, |
| 115 | p->num_objects, |
| 116 | &p->mtimes_map, |
| 117 | &p->mtimes_size); |
| 118 | cleanup: |
| 119 | free(mtimes_name); |
| 120 | return ret; |
| 121 | } |
| 122 | |
| 123 | uint32_t nth_packed_mtime(struct packed_git *p, uint32_t pos) |
| 124 | { |