From: Jeff King Date: Tue, 26 Feb 2019 17:46:55 GMT Subject: Re: [PATCH v3 2/2] setup: fix memory leaks with `struct repository_format` Message-ID: <20190226174655.GE19606@sigill.intra.peff.net> In-Reply-To: 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