Junio C Hamano <gitster@xxxxxxxxx> writes: > David Kastrup <dak@xxxxxxx> 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. Ok. > p++ is "loop control", and belongs to the third part of > for(;;). No, it isn't. The "real" loop control is the p = memchr line. p++ only skips over the newline. > Isn't the normal continuation condition "p < end"? memchr returns NULL when not finding anything any more. > so something like > > for (p = buf; p < end; p++) { > p = find the end of this line > if (!p) > break; > num++; > } > > perhaps? Would crash on incomplete last line. -- David Kastrup -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html