On 1/11/2023 1:26 PM, Jeff King wrote: > On Mon, Jan 09, 2023 at 10:09:32AM -0500, Derrick Stolee wrote: > >> I did think that requiring callers to create their own object_info >> structs (which takes at least four lines) would be too much, but >> the number of new callers is so low that I think this is a fine place >> to stop. > > Yeah, that was my feeling. I do wonder if there's a way to make it > easier for callers of oid_object_info_extended(), but I couldn't come up > with anything that's nice enough to merit the complexity. > > For example, here's an attempt to let the caller use designated > initializers to set up the query struct: > + struct object_info oi = OBJECT_INFO(.typep = type, > + .sizep = size, > + .contentp = &data); Your macro expansion creates this format: struct object_info oi = { .type = type, .sizep = size, .contentp = &data, }; And even this expansion looks a bit better than the inline updates: > - oi.typep = type; > - oi.sizep = size; > - oi.contentp = &data; So maybe that's a preferred pattern that we could establish by replacing the existing callers. It's also such a minor point that I wouldn't say it's a high priority to do. Thanks, -Stolee