/* Return the UTC offset in seconds west of UTC, adjusted for extra time offset, for a local time value. If ut = lt + LocTimeDiff(lt), then lt = ut - TimeDiff(ut), but the converse does not necessarily hold near daylight savings transitions because some local times are ambiguous. LocTimeDiff(t) equals TimeDiff(t) except near daylight savings transitions.  */
static int LocTimeDiff(time_t lt)
/* Return the UTC offset in seconds west of UTC, adjusted for extra time offset, for a local time value. If ut = lt + LocTimeDiff(lt), then lt = ut - TimeDiff(ut), but the converse does not necessarily hold near daylight savings transitions because some local times are ambiguous. LocTimeDiff(t) equals TimeDiff(t) except near daylight savings transitions.  */
static int LocTimeDiff(time_t lt)
{
	int    d = TimeZoneFaster(lt);
	time_t t = lt + d;
	if (((t < lt) ^ (d < 0)))
		t = lt;
	return TimeZoneFaster(t);
}