Also a good example of what happens when trying to write portable C code, even when constrained to UNIX/POSIX platforms.