On Thu, 24 Jan 2019 at 01:15, brian m. carlson <sandals@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Wed, Jan 23, 2019 at 12:57:05AM -0500, Jeff King wrote: > > > +void clear_repository_format(struct repository_format *format) > > > +{ > > > + string_list_clear(&format->unknown_extensions, 0); > > > + free(format->work_tree); > > > + free(format->partial_clone); > > > + *format = (struct repository_format)REPOSITORY_FORMAT_INIT; > > > +} > > > > ...this uses that expression not as an initializer, but as a compound > > literal. That's also C99, but AFAIK it's the first usage in our code > > base. I don't know if it will cause problems or not. > > Given how simple it is to fix if it turns out to be a problem, I'm OK > > including it as a weather balloon. Thanks for pointing out this potential problem. > It's my understanding that MSVC doesn't support this construct. If we > care about supporting MSVC, then we need to write it without the > compound literal. MSVC doesn't support any C99 feature that is not also > in C++, unfortunately. Ok, better play it safe then. Thanks. Martin