Patrick Steinhardt <ps@xxxxxx> writes: > When computing the rebase strategy we temporarily assign a string > constant to `options.strategy` before we call `xstrdup()` on it. > Furthermore, the default backend is being assigned a string constant via > `REBASE_OPTIONS_INIT`. Both of these will cause warnings once we enable > `-Wwrite-strings`. > > Adapt the code such that we only store allocated strings in those > variables. > > Signed-off-by: Patrick Steinhardt <ps@xxxxxx> > --- > builtin/rebase.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) One gripe I have in this change is that it used to be crystal clear what the hardcoded default was (i.e. written in the initialization data), but now you have to follow the program flow to see what the hardcoded default is. > if (options.type == REBASE_UNSPECIFIED) { > - if (!strcmp(options.default_backend, "merge")) > + if (!options.default_backend) > + options.type = REBASE_MERGE; > + else if (!strcmp(options.default_backend, "merge")) > options.type = REBASE_MERGE; > else if (!strcmp(options.default_backend, "apply")) > options.type = REBASE_APPLY;