On Wed, Nov 4, 2020 at 12:13 PM Jeff King <peff@xxxxxxxx> wrote: > > On Mon, Nov 02, 2020 at 06:55:07PM +0000, Elijah Newren via GitGitGadget wrote: > > > +/* > > + * iterate through @map using @iter, @var is a pointer to a type strmap_entry > > + */ > > +#define strmap_for_each_entry(mystrmap, iter, var) \ > > + for (var = hashmap_iter_first_entry_offset(&(mystrmap)->map, iter, 0); \ > > + var; \ > > + var = hashmap_iter_next_entry_offset(iter, 0)) > > + > > I think this resolves my offset question from the last round. But I > wonder if you tried: > > #define strmap_for_each_entry(mystrmap, iter, var) \ > hashmap_for_each_entry(&(mystrmap)->map, iter, var, ent) > > which is a bit more abstract and should function the same (I think; I > didn't try it). I tried another variant or two besides what I used here, but not the one you suggest. Your suggestion seems obvious and nicer now that you point it out.