Portability improvements.

Avoid many bogus warnings across versions of gcc. Work around
missing definitions on some systems. Fix some printf format types.
4 files changed