I didn't know about the coccinelle semantic patch facility. This adds
coccinelle rules to do the code changes, and adds subsequent follow-up
commits which apply that change, with the series ending with a patch
that I manually authored.
This fixes a bug in earlier versions of the series. I was mistakenly
freeing the wrong thing in the tree-walk.c change, that change is now
gone, and all the changes not made by coccinelle are in one commit,
making it easier to review.
Ævar Arnfjörð Bjarmason (6):
git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr =
NULL
coccinelle: add a rule to make "type" code use FREE_AND_NULL()
coccinelle: make use of the "type" FREE_AND_NULL() rule
coccinelle: add a rule to make "expression" code use FREE_AND_NULL()
coccinelle: make use of the "expression" FREE_AND_NULL() rule
*.[ch] refactoring: make use of the FREE_AND_NULL() macro
alias.c | 6 ++----
apply.c | 3 +--
attr.c | 6 ++----
blame.c | 3 +--
branch.c | 3 +--
builtin/am.c | 18 +++++-------------
builtin/clean.c | 6 ++----
builtin/config.c | 6 ++----
builtin/index-pack.c | 6 ++----
builtin/pack-objects.c | 12 ++++--------
builtin/unpack-objects.c | 3 +--
builtin/worktree.c | 6 ++----
commit-slab.h | 3 +--
commit.c | 3 +--
config.c | 3 +--
contrib/coccinelle/free.cocci | 15 +++++++++++++++
credential.c | 9 +++------
diff-lib.c | 3 +--
diff.c | 6 ++----
diffcore-rename.c | 6 ++----
dir.c | 9 +++------
fast-import.c | 6 ++----
git-compat-util.h | 6 ++++++
gpg-interface.c | 15 +++++----------
grep.c | 12 ++++--------
help.c | 3 +--
http-push.c | 24 ++++++++----------------
http.c | 15 +++++----------
imap-send.c | 3 +--
line-log.c | 6 ++----
ll-merge.c | 3 +--
mailinfo.c | 3 +--
object.c | 3 +--
pathspec.c | 3 +--
prio-queue.c | 3 +--
read-cache.c | 6 ++----
ref-filter.c | 3 +--
refs/files-backend.c | 3 +--
refs/ref-cache.c | 3 +--
remote-testsvn.c | 3 +--
rerere.c | 3 +--
sequencer.c | 3 +--
sha1-array.c | 3 +--
sha1_file.c | 3 +--
split-index.c | 3 +--
transport-helper.c | 27 +++++++++------------------
transport.c | 3 +--
tree-diff.c | 6 ++----
tree.c | 3 +--
49 files changed, 117 insertions(+), 195 deletions(-)
--
2.13.1.508.gb3defc5cc