summaryrefslogtreecommitdiff
path: root/grep.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2017-06-24 21:28:41 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-06-24 21:28:41 (GMT)
commit50f03c6676ed5ea040dd53272882d3aac2ee1b48 (patch)
tree8bf9680918762ffa077832674da9cca98c8c1888 /grep.c
parentcda4ba30b1d6257524b9412ed4d7c44645fe0369 (diff)
parent88ce3ef636b1385e861ec0e9e2155248b999b032 (diff)
downloadgit-50f03c6676ed5ea040dd53272882d3aac2ee1b48.zip
git-50f03c6676ed5ea040dd53272882d3aac2ee1b48.tar.gz
git-50f03c6676ed5ea040dd53272882d3aac2ee1b48.tar.bz2
Merge branch 'ab/free-and-null'
A common pattern to free a piece of memory and assign NULL to the pointer that used to point at it has been replaced with a new FREE_AND_NULL() macro. * ab/free-and-null: *.[ch] refactoring: make use of the FREE_AND_NULL() macro coccinelle: make use of the "expression" FREE_AND_NULL() rule coccinelle: add a rule to make "expression" code use FREE_AND_NULL() coccinelle: make use of the "type" FREE_AND_NULL() rule coccinelle: add a rule to make "type" code use FREE_AND_NULL() git-compat-util: add a FREE_AND_NULL() wrapper around free(ptr); ptr = NULL
Diffstat (limited to 'grep.c')
-rw-r--r--grep.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/grep.c b/grep.c
index 1fca83b..98733db 100644
--- a/grep.c
+++ b/grep.c
@@ -1940,12 +1940,9 @@ void grep_source_init(struct grep_source *gs, enum grep_source_type type,
void grep_source_clear(struct grep_source *gs)
{
- free(gs->name);
- gs->name = NULL;
- free(gs->path);
- gs->path = NULL;
- free(gs->identifier);
- gs->identifier = NULL;
+ FREE_AND_NULL(gs->name);
+ FREE_AND_NULL(gs->path);
+ FREE_AND_NULL(gs->identifier);
grep_source_clear_data(gs);
}
@@ -1955,8 +1952,7 @@ void grep_source_clear_data(struct grep_source *gs)
case GREP_SOURCE_FILE:
case GREP_SOURCE_OID:
case GREP_SOURCE_SUBMODULE:
- free(gs->buf);
- gs->buf = NULL;
+ FREE_AND_NULL(gs->buf);
gs->size = 0;
break;
case GREP_SOURCE_BUF: