C89 compatible