strict C90 (ANSI C) compliance