Re: [PATCH 4/4] list-objects-filter: convert filter_spec to a strbuf
- From
Jeff King <peff@peff.net>
- Date
- Sep 19, 2022, 19:05 UTC
- Message-ID
- <Yyi9lkns3OgjiLl0@coredump.intra.peff.net>
- In-Reply-To
- <2c6fca96-6b7b-b4c4-526c-2497422d8b8f@github.com>
On Mon, Sep 19, 2022 at 01:50:32PM -0400, Derrick Stolee wrote:
Show 16 quoted lines
> On 9/11/2022 1:03 AM, Jeff King wrote:
> > - if (!filter_options->filter_spec.strdup_strings)
> > + if (!filter_options->filter_spec.buf)
> > BUG("filter_options not properly initialized");
>
> I couldn't figure out why this would work until I dug into
> STRBUF_INIT and found this:
>
> /*
> * Used as the default ->buf value, so that people can always assume
> * buf is non NULL and ->buf is NUL terminated even for a freshly
> * initialized strbuf.
> */
> char strbuf_slopbuf[1];
>
> So, this makes sense now.Yeah. It's a little intimate with the strbuf implementation, but I think that's OK given the scope of things here. Ironically, if "buf" could be NULL, then we'd actually be OK with the original zero-initialization. :)
-Peff