On Mon, Feb 25, 2019 at 08:21:07PM +0100, Martin Ågren wrote: > It's time to resurrect this thread. I've reworked this patch to avoid > the compound literal when re-initing a struct, and I've been going back > and forth on this point about having to initialize to `..._INIT` or risk > crashing. And I keep coming back to thinking that it's not *that* > different from how `STRBUF_INIT` works. > > There's the obvious difference that there aren't as many functions to > call, so there's certainly a difference in scale. And you'd think that > you'll always start with `read_...()`, but another potential first > function to call is `clear_...()` (see builtin/init-db.c), in which case > you better have used `..._INIT` first. > > I'm tempted to address this point by documenting as good as I can in the > .h-file that one has to use this initializer macro. I'll obviously > convert all users, so copy-paste programming should work fine... > > How does that sound to you? It sounds pretty good. -Peff