Re: [PATCH ps/stash-in-c] strbuf_vinsertf: provide the correct buffer size to vsnprintf
- From
Johannes Sixt <j6t@kdbg.org>
- Date
- Feb 4, 2019, 21:13 UTC
- Message-ID
- <ea7b1875-1a23-e4e8-e30e-5b769d282323@kdbg.org>
- In-Reply-To
- <nycvar.QRO.7.76.6.1902041135320.41@tvgsbejvaqbjf.bet>
Am 04.02.19 um 11:38 schrieb Johannes Schindelin:
Show 20 quoted lines
> On Mon, 4 Feb 2019, Johannes Sixt wrote: > >> Am 03.02.19 um 17:51 schrieb Johannes Sixt: >>> strbuf_vinsertf inserts a formatted string in the middle of an existing >>> strbuf value. >> >> Quite frankly, this is a really unusual operation, and I'd prefer to get >> rid of it. There is only one call, and it looks like it only wants to be >> lazy and save one strbuf variable. > > The only reason why there are not more callers is that I did not convert > any of the appropriate places. We have quite a few places where we > allocate a new strbuf for the sole purpose of formatting something that is > then inserted into an already existing strbuf (possibly extending the > buffer, which might require a move of the buffer just because that > temporary strbuf is in the way). > > It does not sound like good practice to me to allocate things left and > right, only to reallocate something that was just allocated anyway and to > copy things into that and then release things left and right.
I prefer separation of concerns at the expense of a bit of resource consumption that is not measurable. But that is the only argument that I have.
-- Hannes