99 ways to program a hex, Part 21: C89, const correctness, assertive, system calls, per line buffering