fix sizes issues manifested in x32 libhdate calls localtime(long), when its interface requires time_t.
If sizeof(long) == sizeof(time_t), all is ok. If sizeof(long) > sizeof(time_t), it will work on little-endian, use some uninitialized memory on big-endian. If sizeof(long) < sizeof(time_t), it will trample nearby memory.