[PATCH 2/3] grep: simplify grep_oid and grep_file
From: Rasmus Villemoes <hidden>
Date: 2018-02-15 21:56:42
Subsystem:
the rest · Maintainer:
Linus Torvalds
In the NO_PTHREADS or !num_threads case, this doesn't change anything. In the threaded case, note that grep_source_init duplicates its third argument, so there is no need to keep [path]buf.buf alive across the call of add_work(). Signed-off-by: Rasmus Villemoes <redacted> --- builtin/grep.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/builtin/grep.c b/builtin/grep.c
index 4a4f15172..593f48d59 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c@@ -326,18 +326,17 @@ static int grep_oid(struct grep_opt *opt, const struct object_id *oid, } grep_source_init(&gs, GREP_SOURCE_OID, pathbuf.buf, path, oid); + strbuf_release(&pathbuf); #ifndef NO_PTHREADS if (num_threads) { add_work(opt, &gs); - strbuf_release(&pathbuf); return 0; } else #endif { int hit; - strbuf_release(&pathbuf); hit = grep_source(opt, &gs); grep_source_clear(&gs);
@@ -356,18 +355,17 @@ static int grep_file(struct grep_opt *opt, const char *filename) strbuf_addstr(&buf, filename); grep_source_init(&gs, GREP_SOURCE_FILE, buf.buf, filename, filename); + strbuf_release(&buf); #ifndef NO_PTHREADS if (num_threads) { add_work(opt, &gs); - strbuf_release(&buf); return 0; } else #endif { int hit; - strbuf_release(&buf); hit = grep_source(opt, &gs); grep_source_clear(&gs);
--
2.15.1