No need to check date/time further than hh:00 when processing a possible
leap second, this is already done when setting the announcement flag.

Push down minlen checks.
Re-indent.
No need to check date/time further than hh:00 when processing a DST change,
this is already done when setting the announcement flag.

Drop 'tmp' variable.
Simplify the guard for assigning newtime.tm_isdst (no need to check rval & DT_DSTERR when checking oldderr && ok)
Remove now obsolete if statement, already handled when processing the DST change.
Rewrap, no need for 'else if' here.
Remove superfluous check for time->tm_min, rewrap.