Тема: FidoGate & FreeBSD
Показать сообщение отдельно
  #13  
Старый 26.06.2020, 00:43
Sergey Anohin
Guest
 
Сообщений: n/a
По умолчанию FidoGate & FreeBSD

Sergey Anohin написал(а) к Andrei Dzedolik в Jun 20 23:22:43 по местному времени:

Нello, Andrei!

AD> Это именно оно! Я ведь собираю на FreeBSD и вот:
AD> % grep timezone /usr/include/time.h
AD> char tm_zone; /* timezone abbreviation /
AD> char timezone(int, int); /* XXX XSI conflict /
AD> Теперь понятно, откуда ноги, так сказать. Буду копать дальше ...

В версии 5.7

/ Check for invalid time (-1) /
if(fmt==NULL && t && *t==-1)
<------>return "INVALID";

GetTimeInfo(&ti);
tm = localtime(&ti.time);
if(tm->tm_isdst)
<------>ti.tzone += DST_OFFSET * 60;

if(t)
<------>ti.time = *t;
tm = localtime(&ti.time);
if(tm->tm_isdst)
<------>ti.tzone -= DST_OFFSET * 60;

if(tz != -1)
<------>ti.tzone = tz;


В версии 5.8

/ Check for invalid time (-1) /
if (fmt == NULL && t && *t == -1)
return "INVALID";

if (tz != -1)
timezone = tz * 60;

GetTimeInfo(&ti);

if (t)
ti.time = *t;
if (tz != -1)
ti.tzone = tz;

adjusted_time = ti.time - (ti.tzone * 60);
tm = gmtime(&adjusted_time);

Версия 5.7 собирается в FreeBSD.


С наилучшими пожеланиями, Sergey Anohin.

--- wfido
Ответить с цитированием