Jeff King [off-list ref] writes:
I think this makes sense. It does blur the memory ownership lines of the
grep_source, though. Can we make that more clear with a comment here:
quoted
+ grep_source_init(&gs, GREP_SOURCE_OID, pathbuf.buf, path, oid);
+
#ifndef NO_PTHREADS
if (num_threads) {
- add_work(opt, GREP_SOURCE_OID, pathbuf.buf, path, oid);
+ add_work(opt, &gs);
strbuf_release(&pathbuf);
return 0;
} else
like:
/* leak grep_source, whose fields are now owned by add_work() */
or something? We could even memset() it back to all-zeroes to avoid an
accidental call to grep_source_clear(), but that's probably unnecessary
if we have a comment.
I share the same uneasiness about the fuzzy memory ownership this
change brings in. Thanks for suggesting improvements.