> but in general time_t is commonly an int32 type - doesn't matter what OS it compiles on
Maybe 20 years ago, but these days you cannot make such a generalization. For example, VC++ uses a 64-bit time_t even in 32-bit builds unless you explicitly define _USE_32BIT_TIME_T. on 64-bit builds, a 32-bit time_t would be an illegal configuration that won't even build.
In Win32 builds, it's been necessary to request legacy 32-bit time_t structures explicitly with _USE_32BIT_TIME_T for many years, for what that's worth. 64-bit time_t has been the standard for a while.
Maybe 20 years ago, but these days you cannot make such a generalization. For example, VC++ uses a 64-bit time_t even in 32-bit builds unless you explicitly define _USE_32BIT_TIME_T. on 64-bit builds, a 32-bit time_t would be an illegal configuration that won't even build.