Make GoldED+ behave well with DST. Change in CfgFormat patch.
This commit is contained in:
@@ -92,7 +92,9 @@ int FidoArea::load_message(int __mode, gmsg* __msg, FidoHdr& __hdr) {
|
||||
}
|
||||
__msg->written = __msg->written ? __msg->written : FidoTimeToUnix(__hdr.datetime);
|
||||
time_t a = time(NULL);
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
__msg->arrived = __msg->arrived ? __msg->arrived : a + a - b;
|
||||
|
||||
// Transfer attributes
|
||||
|
@@ -135,7 +135,9 @@ int _HudsArea<msgn_t, rec_t, attr_t, board_t, last_t, __HUDSON>::load_message(in
|
||||
_tm.tm_sec = 0;
|
||||
_tm.tm_isdst = -1;
|
||||
time_t a = mktime(&_tm);
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
__msg->written = a + a - b;
|
||||
__msg->arrived = 0;
|
||||
|
||||
|
@@ -142,7 +142,9 @@ void JamArea::open_area() {
|
||||
// Initialize header info
|
||||
memcpy(data->hdrinfo.signature, JAM_SIGNATURE, 4);
|
||||
time_t a = time(NULL);
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
data->hdrinfo.datecreated = a + a - b;
|
||||
data->hdrinfo.passwordcrc = 0xFFFFFFFFL;
|
||||
data->hdrinfo.basemsgnum = 1;
|
||||
|
@@ -80,7 +80,9 @@ int PcbArea::load_message(int __mode, gmsg* __msg, PcbHdr& __hdr) {
|
||||
_tm.tm_sec = 0;
|
||||
_tm.tm_isdst = -1;
|
||||
time_t a = mktime(&_tm);
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
__msg->written = a + a - b;
|
||||
__msg->arrived = 0;
|
||||
|
||||
|
@@ -305,7 +305,9 @@ int SMBArea::load_hdr(gmsg* __msg, smbmsg_t *smsg)
|
||||
__msg->attr.tfs(smsgp->hdr.auxattr & MSG_TRUNCFILE);
|
||||
|
||||
time_t a = smsgp->hdr.when_written.time;
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
__msg->written = a + a - b;
|
||||
a = smsgp->hdr.when_imported.time;
|
||||
b = mktime(gmtime(&a));
|
||||
@@ -511,7 +513,9 @@ void SMBArea::save_hdr(int mode, gmsg* msg)
|
||||
else {
|
||||
memcpy(smsg.hdr.id, "SHD\x1a", 4);
|
||||
smsg.hdr.version = SMB_VERSION;
|
||||
smsg.hdr.when_written.time = mktime(gmtime(&msg->written));
|
||||
struct tm *tp = gmtime(&msg->written);
|
||||
tp->tm_isdst = -1;
|
||||
smsg.hdr.when_written.time = mktime(tp);
|
||||
}
|
||||
smsg.hdr.when_imported.time = time(NULL);
|
||||
|
||||
|
@@ -104,7 +104,9 @@ int WCatArea::load_message(int __mode, gmsg* __msg, WCatHdr& __hdr) {
|
||||
_tm.tm_sec = _second;
|
||||
_tm.tm_isdst = -1;
|
||||
time_t a = mktime(&_tm);
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
__msg->written = a + a - b;
|
||||
}
|
||||
|
||||
@@ -122,7 +124,9 @@ int WCatArea::load_message(int __mode, gmsg* __msg, WCatHdr& __hdr) {
|
||||
_tm.tm_sec = _second;
|
||||
_tm.tm_isdst = -1;
|
||||
time_t a = mktime(&_tm);
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
__msg->received = a + a - b;
|
||||
}
|
||||
|
||||
|
@@ -73,7 +73,9 @@ int XbbsArea::load_message(int __mode, gmsg* __msg, XbbsHdr& __hdr) {
|
||||
t.tm_hour = t.tm_min = t.tm_sec = 0;
|
||||
t.tm_isdst = -1;
|
||||
time_t a = mktime(&t);
|
||||
time_t b = mktime(gmtime(&a));
|
||||
struct tm *tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
time_t b = mktime(tp);
|
||||
__msg->arrived = a + a - b;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user