Originally sent to the wrong email address - sorry.<br><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Jonathan Leffler</b> <span dir="ltr">&lt;<a href="mailto:jonathan.leffler@gmail.com">jonathan.leffler@gmail.com</a>&gt;</span><br>
Date: Mon, Dec 8, 2008 at 12:14 PM<br>Subject: Re: zdump loop problem<br>To: Robbin Kawabata &lt;<a href="mailto:Robbin.Kawabata@sun.com">Robbin.Kawabata@sun.com</a>&gt;<br>Cc: <a href="mailto:tz@lecserver.nci.nih.gov">tz@lecserver.nci.nih.gov</a>, <a href="mailto:a.radke@arcor.de">a.radke@arcor.de</a><br>
<br><br><br><br><div class="gmail_quote"><div class="Ih2E3d">On Mon, Dec 8, 2008 at 11:50 AM, Robbin Kawabata <span dir="ltr">&lt;<a href="mailto:Robbin.Kawabata@sun.com" target="_blank">Robbin.Kawabata@sun.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I ran ado&#39;s fix against all the timezones, and got good results.<br>
<br>
This is the diff:<br>
<br>
*** zdump_loop.c &nbsp; &nbsp;Tue Dec &nbsp;2 11:17:01 2008<br>
--- zdump_fix_ado.c &nbsp; &nbsp; Tue Dec &nbsp;2 12:49:05 2008<br>
***************<br>
*** 312,322 ****<br>
<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(void) strncpy(buf, abbr(&amp;tm), sizeof (buf) - 1);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (;;) {<br>
! &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (t &gt;= cuthitime)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;newt = t + SECSPERHOUR * 12;<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (newt &gt;= cuthitime)<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;<br>
</div><div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (newt &lt;= t)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;newtmp = localtime(&amp;newt);<br>
</div>--- 312,320 ----<br>
<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(void) strncpy(buf, abbr(&amp;tm), sizeof (buf) - 1);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;for (;;) {<br>
</div>! &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (t &gt;= cuthitime || t &gt;= cuthitime - SECSPERHOUR * 12)<br>
<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;</div></blockquote></div><div><br>Isn&#39;t that code equivalent to just:<br><br>if (t &gt;= cuthitime - SECSPERHOUR * 12)<br><br>I&#39;ve not followed all the details of the thread, but AFAIUI, this code is protecting against overflow on positive quantities (rather than underflow on negative ones), and the double test is redundant unless cuthitime is within 12 * SECPERHOUR of the smallest (most negative) integer.<br>

<br>&nbsp;<br></div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; newt = t + SECSPERHOUR * 12;<br>

 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (newt &lt;= t)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;newtmp = localtime(&amp;newt);<br>
<br>
<br>
</div>However, isn&#39;t the check for &quot;if (newt &lt;= t) break&quot; no longer needed?<br>
</blockquote></div><div><br>Probably...<br>&nbsp;<br></div><div class="Ih2E3d"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">----- Begin Forwarded Message -----<br>

<br>
Date: Mon, 01 Dec 2008 16:21:00 -0500<br>
<div>From: &quot;Olson, Arthur David (NIH/NCI) [E]&quot; &lt;<a href="mailto:olsona@dc37a.nci.nih.gov" target="_blank">olsona@dc37a.nci.nih.gov</a>&gt;<br>
</div>Subject: Re: zdump loop problem<br>
<div>To: <a href="mailto:tz@lecserver.nci.nih.gov" target="_blank">tz@lecserver.nci.nih.gov</a><br>
Cc: Andreas Radke &lt;<a href="mailto:a.radke@arcor.de" target="_blank">a.radke@arcor.de</a>&gt;<br>
<br>
</div><div>So...in the real world, does changing the zic.c lines reading...<br>
</div><div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (t &gt;= cuthitime)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;newt = t + SECSPERHOUR * 12;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (newt &gt;= cuthitime)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
</div>...to read...<br>
<div> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (t &gt;= cuthitime || t &gt;= cuthitime -<br>
SECSPERHOUR * 12)<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;break;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;newt = t + SECSPERHOUR * 12;<br>
</div><div>...result in working code? I&#39;d particularly appreciate feedback from<br>
Andreas Radke or other ArchLinux users.<br>
<br>
</div>----- End Forwarded Message -----<br>
</blockquote></div></div><font color="#888888"><br><br></font></div><br><br clear="all"><br>-- <br>Jonathan Leffler &lt;<a href="mailto:jonathan.leffler@gmail.com">jonathan.leffler@gmail.com</a>&gt; &nbsp;#include &lt;disclaimer.h&gt;<br>
Guardian of DBD::Informix - v2008.0513 - <a href="http://dbi.perl.org">http://dbi.perl.org</a><br>&quot;Blessed are we who can laugh at ourselves, for we shall never cease to be amused.&quot;<br>