René Scharfe <l.s.r@xxxxxx> writes: > On 8/25/26 10:04 PM, Junio C Hamano wrote: >> René Scharfe <l.s.r@xxxxxx> writes: >> >>> worktree_basename() requires callers to do pointer arithmetic to get the >>> actual basename. Simplify them by doing the calculations in the >>> function and returning a copy of the basename directly. >> >> OK. >> >>> Remind programmers to free the result by renaming the function to >>> worktree_basename_dup(). Two already do; convert the remaining one from >> >> This is a bit surprising, depending on what "do" refers to, as I >> read it to mean "Two callers already free what is returned by the >> worktree_basename() function", which cannot be the case (or they >> would be segfaulting already). So I must have misunderstood this >> sentence. I count three callers of the function, so two do >> something while the other one that needs conversion does something >> else. > > It's confusing because I changed "callers" to "programmers" last > minute and forgot to adjust the next sentence. > >>> resetting a shared strbuf to freeing the allocated string, which >>> requires the same number of lines, but no arithmetic. The added >>> allocation is negligible because it's small and there's only one per run >>> of "git worktree add". > >> So going back to the confusing part of the log message, >> >> Remind ... to worktree_basename_dup(). Among the three callers >> of worktree_basename(), two immediately make copies of the >> returned string before using and freeing it, which makes for an >> easy conversion. Convert the other one from resetting ... >> >> or something like that, perhaps? > > Yes. Thanks. We do not know if other parts of the series gets more serious reviews that necessitates an updated version, so in the meantime I'll reword what I have locally.