Re: [PATCH 17/18] revert: Introduce --continue to continue the operation
- From
Ramkumar Ramachandra <artagnon@gmail.com>
- Date
- Aug 3, 2011, 17:59 UTC
- Message-ID
- <CALkWK0=sisjQ5TrLfhB6XonDQ5dmqZAyyjkvVEZRXf7W_Z4OLw@mail.gmail.com>
- In-Reply-To
- <7v4o1ycsi4.fsf@alter.siamese.dyndns.org>
Hi Junio,
Junio C Hamano writes:
Show 14 quoted lines
> Ramkumar Ramachandra <artagnon@gmail.com> writes:
>>>> + for (p = buf.buf; *p; p = strchr(p, '\n') + 1) {
>>>
>>> This relies on a "\n" at the end of the last line...
>>
>> Yes, that was intentional. Every editor I know of inserts a '\n' at
>> the end of the last line,...
>
> Why do you think "diff" has a special codepath to report "No newline at
> end of file"? Because some editors do leave an incomplete line incomplete.
>
> When working on a "buf" with an incomplete line at the end, the last round
> of the loop will assign "(char *) 1" to "p", try to see "*p" is NUL and
> segfault, no?Thanks for the excellent explanation! :) I'll fix this and re-roll asap: I'll take the opportunity to include the other changes that Christian suggested.
-- Ram