Subject: Re: [PATCH] blame.c: prepare_lines should not call xrealloc for every line

From: Junio C Hamano <[email-masked]>
Date: Tue, 04 Feb 2014 13:44:55 -0800

David Kastrup <[email-masked]> writes:

> Ok, I now wrote
>
> 	for (p = buf;; num++, p++) {
> 		p = memchr(p, '\n', end - p);
> 		if (!p)
> 			break;
> 	}

Looks still wrong (perhaps this is a taste issue).

	num++ is not "loop control", but the real action of this
	loop to count lines.  It is better left inside.

	p++ is "loop control", and belongs to the third part of
	for(;;).

	Isn't the normal continuation condition "p < end"?

so something like

	for (p = buf; p < end; p++) {
        	p = find the end of this line
                if (!p)
                	break;
		num++;
	}

perhaps?