OriginalGriff is right. In other languages such code wouldnt compile. A bit nasty but good for code quality.
Better is to write
while(--i > 0 )
when i starts with zero the prefix computes to -1 and than the loop runs a for a while.
So it is a BUG