From: Junio C Hamano Date: Mon, 28 Oct 2019 17:30:18 GMT Subject: Re: [PATCH v3 2/2] git_path(): handle `.lock` files correctly Message-ID: In-Reply-To: Johannes Schindelin writes: >> size_t len; >> if (strip_suffix(base, ".lock", &len)) >> base = base2 = xstrndup(base, len); > > Actually, we should probably avoid the extra allocation. Earlier, I was > concerned about multi-threading issues when attempting to modify the > `strbuf`. But then, we modify that `strbuf` a couple of lines later > anyway, so my fears were totally unfounded. Therefore, my current > version reads like this: > > -- snip -- > int has_lock_suffix = strbuf_strip_suffix(buf, LOCK_SUFFIX); > > init_common_trie(); > if (trie_find(&common_trie, base, check_common, NULL) > 0) > replace_dir(buf, git_dir_len, common_dir); > > if (has_lock_suffix) > strbuf_addstr(buf, LOCK_SUFFIX); > -- snap -- Makes sense. Thanks for thinking it through.