In ‘localsub’,

If t is before the first entry in ats, and goback is not set, then it uses the first non-DST entry in ats.

But, if t is after the last entry in ats and goforward is not net, then it uses the last entry in ats, regardless of whether it is a DST or standard time entry.

 

Is that intentional?

 

… thinking … time passes …

 

I think it’s an error either way – if the ats table ends with a seasonal time change and it isn’t flagged as goforward, it should be an error that the table was declared too small.  It stays in DST forever and if it’s flagged as DST that means it was supposed to be a temporary adjustment to the Zone definition.

 

--John