I always thought we don't like to declare variables in the `for` header, and while I don't necessarily agree with that rule I think that there is some rule in keeping things consistent.
I think it was only ever forbidden because compilers choked on it, but I think compilers only ever choked on it because we had bugs in Wine preventing -std=c99 from working correctly, which have since been fixed.
I personally prefer it, myself, and in general I prefer limiting variable scopes to the blocks where they're used. I believe Henri tends to have an opposite preference, but so far I don't think he's rejected patches on those grounds.