From: Junio C Hamano Date: Tue, 04 Feb 2014 21:44:55 GMT Subject: Re: [PATCH] blame.c: prepare_lines should not call xrealloc for every line Message-ID: In-Reply-To: <874n4ewouz.fsf@fencepost.gnu.org> David Kastrup 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?