On platforms with 32-bit time_t, code up converts it to a 64-bit data
type. The pointer to this 64-bit value is incorrectly passed to
a few functions that accept a pointer to a 32-bit time_t.
On little endian platforms the original 32-bit time_t value will be visible
this way but on big endian platforms only zeros will be seen and time
will be show as wrong values.
Update code to convert to time_t to be compatible with 32-bit be
platforms.