Re: [PATCH] cache-tree: fix strbuf growth in prime_cache_tree_rec()
- From
Jeff King <peff@peff.net>
- Date
- Feb 11, 2023, 02:15 UTC
- Message-ID
- <Y+b6TAmxel48QHJa@coredump.intra.peff.net>
- In-Reply-To
- <xmqqwn4pgt1f.fsf@gitster.g>
On Fri, Feb 10, 2023 at 12:33:00PM -0800, Junio C Hamano wrote:
Show 11 quoted lines
> > strbuf_setlen() truncates the string to the directory name. strbuf_grow() then > > makes enough room to add that directory name again (that's what I mean with > > "double") plus the entry path. We don't add the directory name a second time, > > so we don't need to make room for it. > > Yeah, I think I made the same mistake number of years ago, thinking > that strbuf_grow() was to grow the buffer to the given size, but in > reality it is to grow the buffer by the given size, which felt a bit > unnatural, at least to me. I do not feel it too strongly but we > might want to rename _grow() to _grow_by() and make _grow() call it > while giving deprecation warning X-<.
Having been confused by that myself, I would be happy to see such a name change.
> There are ~45 calls to strbuf_grow() in C files other than strbuf.c; > I suspect probably a half or more of them can and should be removed > to reduce the resulting code size without hurting anything.
My gut feeling is that your suspicion is giving strbuf_grow() users too much credit. ;) And having looked at the first 7 grep hits, every single one of them seemed pointless to me.
I wonder if these would make a good #leftoverbits / micro-project candidate.
-Peff