diff options
author | Junio C Hamano <gitster@pobox.com> | 2017-06-24 14:28:41 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-06-24 14:28:41 -0700 |
commit | 50f03c6676ed5ea040dd53272882d3aac2ee1b48 (patch) | |
tree | 8bf9680918762ffa077832674da9cca98c8c1888 /grep.c | |
parent | cda4ba30b1d6257524b9412ed4d7c44645fe0369 (diff) | |
parent | 88ce3ef636b1385e861ec0e9e2155248b999b032 (diff) | |
download | git-50f03c6676ed5ea040dd53272882d3aac2ee1b48.tar.gz |
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.c | 12 |
1 files changed, 4 insertions, 8 deletions
@@ -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: |