<div class="gmail_quote">On Thu, Aug 2, 2012 at 4:01 PM, Stanislav Frolov <span dir="ltr"><<a href="mailto:frolosofsky@gmail.com" target="_blank">frolosofsky@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">I found in source next code</div>
<br>
  #if 0 && defined(HAVE_TZSET)<br>
  tzset();<br>
  mw = timezone/60;<br>
  #endif<br>
<br>
Why 0?<br></blockquote><div><br></div><div>ECL cannot use tzset(). Since ECL is embedded in other programs, it is not allowed to change the environment. Unfortunately, POSIX mandates a single environment for all threads. This means there are functions that we are not allowed to use.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Simple test code 'tzset(); timezone/60/60'; evaluates in '-4'. So, problem in:<br>
<br>
  struct tm ltm, gtm;<br>
  time_t when = 0L;<br>
<br>
  ltm = *localtime(&when);<br>
  gtm = *gmtime(&when);<br>
<br>
  mw = (gtm.tm_min + 60 * gtm.tm_hour) - (ltm.tm_min + 60 * ltm.tm_hour);<br>
<br>
  if ((gtm.tm_wday + 1) % 7 == ltm.tm_wday)<br>
    mw -= 24*60;<br>
  else if (gtm.tm_wday == (ltm.tm_wday + 1) % 7)<br>
    mw += 24*60;<br>
<br>
But i don't understand this code :(</blockquote><div><br></div><div>This code uses two functions, localtime() and gmtime() and computes the difference in time produced by both of them. This is a way to compute the timezone (difference in hours or halfs of hours from GMT). Maybe some part of this is wrong, or maybe localtime() is wrong and does not contain timezone information. What is the value of localtime() and gmtime() in your system?</div>

</div><br>Juanjo<br clear="all"><div><br></div>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>