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. > -#define LIST_OBJECTS_FILTER_INIT { .filter_spec = STRING_LIST_INIT_DUP } > +#define LIST_OBJECTS_FILTER_INIT { .filter_spec = STRBUF_INIT } And now this macro swap works, too. Thanks, -Stolee