Download raw body.
object enumeration in got-read-pack
On Mon, Jun 13, 2022 at 04:20:57PM +0200, Omar Polo wrote: > > + /* > > + * Find the largest pack which contains at least some of the > > + * commits and tags we are interested in. > > + */ > > + TAILQ_FOREACH(pe, &repo->packidx_paths, entry) { > > + const char *path_packidx = pe->path; > > + struct got_packidx *packidx; > > + int nobj, i, idx, ncommits = 0; > > + > > + err = got_repo_get_packidx(&packidx, path_packidx, repo); > > assuming this fails > > > + if (err) > > + break; > > + > > + nobj = be32toh(packidx->hdr.fanout_table[0xff]); > > + if (nobj <= nobj_max) > > + continue; > > + > > + for (i = 0; i < nids; i++) { > > + idx = got_packidx_get_object_idx(packidx, ids[i]); > > + if (idx != -1) > > + ncommits++; > > + } > > + if (ncommits > ncommits_max) { > > + best_packidx_path = path_packidx; > > + nobj_max = nobj; > > + ncommits_max = ncommits; > > + } > > + } > > shouldn't we skip getting the path here? (either turning the break into > a return or checking err here.) Indeed. The if-statement below should include: && err == NULL I'll fix this up before commit. Thanks! > > + if (best_packidx_path) { > > + err = got_repo_get_packidx(best_packidx, best_packidx_path, > > + repo); > > + } > > + > > + return err;
object enumeration in got-read-pack