Hi Kuba, On Mon, 29 Aug 2016, Jakub Narębski wrote: > W dniu 29.08.2016 o 10:04, Johannes Schindelin pisze: > > > We really do not need the *pointer to a* pointer to the options in > > the read_populate_opts() function. > > Right. > > > Signed-off-by: Johannes Schindelin > > --- > > sequencer.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/sequencer.c b/sequencer.c > > index 4d2b4e3..14ef79b 100644 > > --- a/sequencer.c > > +++ b/sequencer.c > > @@ -809,11 +809,11 @@ static int populate_opts_cb(const char *key, const char *value, void *data) > > return 0; > > } > > > > -static int read_populate_opts(struct replay_opts **opts) > > +static int read_populate_opts(struct replay_opts *opts) > > Especially that other *_populate_*() use 'struct replay_opts *opts': > > read_populate_todo(struct commit_list **todo_list, struct replay_opts *opts) > walk_revs_populate_todo(struct commit_list **todo_list, struct replay_opts *opts) > > Though they use **todo_list, because they modify this list; > maybe that was why read_populate_opts was using **opts instead > of *opts? I won't speculate about the reasons why it was made so. About read_populate_todo(): it uses **todo_list, but still only *opts. In any case, in a later patch, the todo_list parsing is completely revamped anyway, so I did not want to "fix" anything that would get reverted later on. Ciao, Johannes