c99 is preferable because it includes a bool type and it allows variable declarations in for loops. Only reason I can think to stay with c89 is to support old or exotic compilers. If you are using a compiler without c99 support, please comment here.
Either way, we should specify the target standard in CMakeLists.txt (possibly with -pedantic) so that the choice is explicit and consistent.