Hi Junio, On 23 Jan 2024, at 14:31, Junio C Hamano wrote: > "John Cai via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > >> This commits adds a flush function pointer as a new member of >> reftable_writer because we are not sure that the first argument to the >> *write function pointer always contains a file descriptor. In the case of >> strbuf_add_void, the first argument is a buffer. This way, we can pass >> in a corresponding flush function that knows how to flush depending on >> which writer is being used. > > A comment and a half. > > * Can't the new "how to flush" go to the write-option structure? > If you represent "no flush" as a NULL pointer in the flush member, > most of the changes to the _test files can go, no? That's a good option and cuts down on code changes. Thanks for the suggestion. > > * For a function > > int func(int ac, char **av); > > a literal pointer to it can legally be written as either > > int (*funcp)(int, char **) = &func; > int (*funcp)(int, char **) = func; > > but it is my understanding that this codebase prefers the latter, > a tradition which goes back to 2005 when Linus was still writing > a lot of code, i.e. the identifier that is the name of the > function, without & in front. good to know, thanks John