<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div>While sorting out some issues for tzdist, I noticed a bug in
zdump, which is still present in 2014g.<br>
<br>
</div>
<div>Running zdump on Asia/Singapore for both 1981 and 1982 together
produces the expected transition from UTC+7:30 to UTC+8 at the
boundary between those years:<br>
</div>
<div><br>
<span style="font-family: courier new,monospace;">$ ./zdump.exe
-vc 1981,1983 Asia/Singapore<br>
Asia/Singapore -9223372036854775808 = NULL<br>
Asia/Singapore -9223372036854689408 = NULL<br>
Asia/Singapore Thu Dec 31 16:29:59 1981 UT = Thu Dec 31
23:59:59 1981 SGT isdst=0<br>
Asia/Singapore Thu Dec 31 16:30:00 1981 UT = Fri Jan 1
00:30:00 1982 SGT isdst=0<br>
Asia/Singapore 9223372036854689407 = NULL<br>
Asia/Singapore 9223372036854775807 = NULL</span><br>
</div>
<div><br>
</div>
<div>However, running it on 1981 and 1982 individually does not:<br>
</div>
<div><br>
<span style="font-family: courier new,monospace;">$ ./zdump.exe
-vc 1981,1982 Asia/Singapore<br>
Asia/Singapore -9223372036854775808 = NULL<br>
Asia/Singapore -9223372036854689408 = NULL<br>
Asia/Singapore 9223372036854689407 = NULL<br>
Asia/Singapore 9223372036854775807 = NULL<br>
<br>
$ ./zdump.exe -vc 1982,1983 Asia/Singapore<br>
Asia/Singapore -9223372036854775808 = NULL<br>
Asia/Singapore -9223372036854689408 = NULL<br>
Asia/Singapore 9223372036854689407 = NULL<br>
Asia/Singapore 9223372036854775807 = NULL</span><br>
<br>
</div>
<div>Initially, I thought this might have to do with the fact that
the transition is specified as a Zone continuation line rather
than as a Rule, since zdump properly handled my extended edge-case
examples to Jon Skeet a while back:<br>
<a href="http://mm.icann.org/pipermail/tz/2014-July/021162.html"
target="_blank">http://mm.icann.org/pipermail/<wbr>tz/2014-July/021162.html</a><br>
<br>
</div>
<div>zdump also properly handles Asia/Dhaka's DST transition at the
end of 2009, but fails in some other similar cases. </div>
<div><br>
</div>
So it looks like it's more to do with the transition taking place
too close to the year boundary. Part of the problem may be the
transition happening in different years, UTC and local, but that
doesn't seem to be all that's going on.<br>
<br>
Attached are some test cases to run against various versions of
Singapore with 1981,1982 and 1982,1983; and various versions of
Dhaka with 2009,2010 and 2010,2011. All of these should work, but
most currently don't. (The ones that do are marked.)<br>
<pre class="moz-signature" cols="72">--
Tim Parenti</pre>
</body>
</html>