Re: [PATCH 4/4] worktree add: let worktree_basename() return string copy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]




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.

[Index of Archives] [Linux Kernel Development] [Gcc Help] [IETF Annouce] [DCCP] [Netdev] [Networking] [Security] [V4L] [Bugtraq] [Yosemite] [MIPS Linux] [ARM Linux] [Linux Security] [Linux RAID] [Linux SCSI] [Fedora Users]

(追記) (追記ここまで)
Powered by Linux

AltStyle によって変換されたページ (->オリジナル) /