Make GoldED+ behave well with DST. Change in CfgFormat patch.
This commit is contained in:
@@ -744,7 +744,9 @@ void KludgeDATE(GMsg* msg, const char* ptr) {
|
||||
t.tm_sec = second;
|
||||
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->written = a + a - b;
|
||||
}
|
||||
}
|
||||
|
@@ -223,7 +223,9 @@ static void MakeMsg3(int& mode, GMsg* msg) {
|
||||
// Do Timefields
|
||||
if(msg->attr.fmu()) {
|
||||
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);
|
||||
a += a - b;
|
||||
if(AA->isjam() or AA->iswildcat())
|
||||
msg->received = a;
|
||||
@@ -792,7 +794,9 @@ void MakeMsg(int mode, GMsg* omsg) {
|
||||
}
|
||||
if(dochgdate) {
|
||||
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);
|
||||
a += a - b;
|
||||
msg->received = msg->arrived = msg->written = a;
|
||||
}
|
||||
|
@@ -209,10 +209,14 @@ int ImportQWK() {
|
||||
_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;
|
||||
a = time(NULL);
|
||||
b = mktime(gmtime(&a));
|
||||
tp = gmtime(&a);
|
||||
tp->tm_isdst = -1;
|
||||
b = mktime(tp);
|
||||
msg->arrived = a + a - b;
|
||||
|
||||
// Read message text
|
||||
|
@@ -908,7 +908,9 @@ int LoadMessage(GMsg* msg, int margin) {
|
||||
reader_rcv_noise = 1;
|
||||
if(not msg->attr.rcv()) { // Have we seen it?
|
||||
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->received = a + a - b; // Get current date
|
||||
msg->attr.rcv1(); // Mark as received
|
||||
reader_rcv_noise++;
|
||||
|
@@ -168,7 +168,9 @@ void ProcessSoupMsg(char* lbuf, GMsg* msg, int& msgs, char* areaname, int tossto
|
||||
msg->orig = msg->oorig = CFG->internetgate.addr.net ? CFG->internetgate.addr : AA->aka();
|
||||
msg->dest = msg->odest = AA->aka();
|
||||
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 = a + a - b;
|
||||
|
||||
Line* line = NULL;
|
||||
@@ -690,7 +692,9 @@ int ExportSoupMsg(GMsg* msg, char* msgfile, gfile& fp, int ismail) {
|
||||
msg->attr.scn1();
|
||||
msg->attr.uns0();
|
||||
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 = a + a - b;
|
||||
AA->SaveHdr(GMSG_UPDATE, msg);
|
||||
if(msg->attr.k_s())
|
||||
|
@@ -442,7 +442,9 @@ void guserbase::write_entry(uint idx, bool updateit) {
|
||||
|
||||
if(updateit and not entry.is_deleted) {
|
||||
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);
|
||||
entry.lastdate = a + a - b;
|
||||
if(not entry.firstdate)
|
||||
entry.firstdate = entry.lastdate;
|
||||
|
Reference in New Issue
Block a user