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 <[email protected]>
> ---
> 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?
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:
-- >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