On Fri, Apr 5, 2019 at 12:25 AM SZEDER Gábor <szeder.dev@xxxxxxxxx> wrote: > > On Wed, Apr 03, 2019 at 06:34:26PM +0700, Nguyễn Thái Ngọc Duy wrote: > > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> > > --- > > builtin/rebase.c | 5 ++--- > > 1 file changed, 2 insertions(+), 3 deletions(-) > > > > diff --git a/builtin/rebase.c b/builtin/rebase.c > > index 77deebc65c..c064909329 100644 > > --- a/builtin/rebase.c > > +++ b/builtin/rebase.c > > @@ -1592,8 +1592,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) > > branch_name = options.head_name; > > > > } else { > > - free(options.head_name); > > - options.head_name = NULL; > > + FREE_AND_NULL(options.head_name); > > branch_name = "HEAD"; > > } > > if (get_oid("HEAD", &options.orig_head)) > > @@ -1793,7 +1792,7 @@ int cmd_rebase(int argc, const char **argv, const char *prefix) > > * we just fast-forwarded. > > */ > > strbuf_reset(&msg); > > - if (!oidcmp(&merge_base, &options.orig_head)) { > > + if (oideq(&merge_base, &options.orig_head)) { > > printf(_("Fast-forwarded %s to %s.\n"), > > branch_name, options.onto_name); > > strbuf_addf(&msg, "rebase finished: %s onto %s", > > You are already using Coccinelle v1.0.7, aren't you? No it's 1.0.5. I guess I should upgrade then. > For some reason previous versions don't notice these two > transformations. I have patches with these transformations lying > around here for some time now, but haven't submitted them yet, because > I don't really like the way I run Coccinelle v1.0.7 in our static > analysis CI build jobs [1] > > Anyway, here are my commit messages for these transformations, please > feel free to re-use them: I'm not sure if even more elaboration is needed. It looks so trivial (and at least obvious to me). But if you or Junio (or anybody else) insists, I'll resend with updated commit messages. Or I can drop this patch too if you have more cocci patches to send soon. > > -- >8 -- > > Subject: builtin rebase: use oideq() > > Use oideq() instead of !oidcmp(), as it is more idiomatic, and might > give the compiler more opportunities to optimize. > > Patch generated with 'contrib/coccinelle/free.cocci' and Coccinelle > v1.0.7 (previous Coccinelle versions don't notice this). > > -- 8< -- > > Subject: builtin rebase: use FREE_AND_NULL > > Use the macro FREE_AND_NULL to release memory allocated for > 'head_name' and clear its pointer. > > Patch generated with 'contrib/coccinelle/free.cocci' and Coccinelle > v1.0.7 (previous Coccinelle versions don't notice this). > > -- >8 -- > > > [1] https://github.com/szeder/git/commits/travis-coccinelle > -- Duy