The existing code is valid C99, however there only C99 specific feature used that is incompatible with the MSVC C compiler is the relaxed variable declaration rules.