Re: [PATCH v2] ext3, ext4: do_split() fix loop, with obvious unsignedwrap

From: Bill Davidsen
Date: Tue Dec 02 2008 - 18:18:27 EST


Theodore Tso wrote:
On Tue, Dec 02, 2008 at 12:08:38PM -0500, Bill Davidsen wrote:
Sorry, you are reading it wrong, the i values inside the loop are identical to those in the original. The value of i starts at count, and the test comes *before* the value is used inside the loop. The values of i inside the loop start at count-1 and go to zero, just as it did in the original. That's why the "i--" is there, the test is on the unincremented value range count to one, but the value inside the loop is correct (or at least is the same as the original patch).

You're right; my bad. But with something like this:

+ for (i = count; i--; ) {

...where there is no third part of the for loop, and a decrement in
the second part of the loop, just for clarity's sake, it's much better
to write it as a while loop.

I seriously disagree on that, writing it as a for makes it totally clear that the index initialization is part of the loop.
I know, looks funny, not the way we have always done it, not invented here...

--
Bill Davidsen <davidsen@xxxxxxx>
"Woe unto the statesman who makes war without a reason that will still
be valid when the war is over..." Otto von Bismark


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/