Could be that the header file is not compatible with C99 either. This seems to me rather likely.
Also it might be that the ABI changed in a way that the C89. This depends on platform and tool chain.
There is a large amount of code which is compatible. It is easy though to get an example which isn't.