Nguyễn Thái Ngọc Duy [off-list ref] writes:
+ hit = grep_tree(opt, pathspec, &tree, &base, base.neglen);
If you are going to let the users of strbuf API to refer directly to the
field, I think "neglen" should be renamed to something more reasonable,
say, "offset".
I am still debating myself if this strbuf_offset is anugly hack merely to
allow the implementation of "grep" not to carry one extra offset around
throughout its callchain, or if it is generic enough that other/future
callers would benefit from. I am leaning toward to think this is an ugly
hack, as a new caller that wants to carry _two_ offsets into a strbuf
wouldn't get much benefit from this new API. But I may be missreading
your code.