Pure C89 compilers require variable declaration before logical blocks