Apparently, this is not valid C89 (all declarations must appear at the beginning of the block), and Visual Studio compiler complained about it.