On Thu, Jun 7, 2018 at 7:02 PM Derrick Stolee <stolee@xxxxxxxxx> wrote: > +static size_t write_midx_large_offsets(struct hashfile *f, uint32_t nr_large_offset, > + struct pack_midx_entry *objects, uint32_t nr_objects) > +{ > + struct pack_midx_entry *list = objects; > + size_t written = 0; > + > + while (nr_large_offset) { > + struct pack_midx_entry *obj = list++; > + uint64_t offset = obj->offset; > + > + if (!(offset >> 31)) > + continue; > + > + hashwrite_be32(f, offset >> 32); > + hashwrite_be32(f, offset & 0xffffffff); Not sure if you need UL suffix or something here on 32-bit platform. > + written += 2 * sizeof(uint32_t); > + > + nr_large_offset--; > + } > + > + return written; > +} > + -- Duy