Skip to content
Snippets Groups Projects
Commit 40c1ceff authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Fix Y2K issues with QWK messagse (import and export).

parent 53ff54f0
No related branches found
No related tags found
No related merge requests found
No preview for this file type
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
#define REVISION 6 /* Revision number */ #define REVISION 6 /* Revision number */
#define BETA 0 /* Beta release? */ #define BETA 0 /* Beta release? */
#define Y2K_2DIGIT_WINDOW 70
#define TM_YEAR(yy) ((yy)%100)
#if !DEMO #if !DEMO
......
...@@ -242,7 +242,10 @@ if(length<2) ...@@ -242,7 +242,10 @@ if(length<2)
return(0); return(0);
date.da_mon=((qwkbuf[8]&0xf)*10)+(qwkbuf[9]&0xf); date.da_mon=((qwkbuf[8]&0xf)*10)+(qwkbuf[9]&0xf);
date.da_day=((qwkbuf[11]&0xf)*10)+(qwkbuf[12]&0xf); date.da_day=((qwkbuf[11]&0xf)*10)+(qwkbuf[12]&0xf);
date.da_year=((qwkbuf[14]&0xf)*10)+(qwkbuf[15]&0xf)+1900; date.da_year=((qwkbuf[14]&0xf)*10)+(qwkbuf[15]&0xf);
if(date.da_year<Y2K_2DIGIT_WINDOW)
date.da_year+=100;
date.da_year+=1900;
curtime.ti_hour=((qwkbuf[16]&0xf)*10)+(qwkbuf[17]&0xf); curtime.ti_hour=((qwkbuf[16]&0xf)*10)+(qwkbuf[17]&0xf);
curtime.ti_min=((qwkbuf[19]&0xf)*10)+(qwkbuf[20]&0xf); curtime.ti_min=((qwkbuf[19]&0xf)*10)+(qwkbuf[20]&0xf);
curtime.ti_sec=0; curtime.ti_sec=0;
...@@ -721,7 +724,7 @@ if(mail && !(sys_status&SS_ABORT)) { ...@@ -721,7 +724,7 @@ if(mail && !(sys_status&SS_ABORT)) {
p=strchr(tmp,'@'); /* remove the system id */ p=strchr(tmp,'@'); /* remove the system id */
if(p!=NULL) *p=0; } if(p!=NULL) *p=0; }
sprintf(tmp2,"%02u-%02u-%02u%02u:%02u" sprintf(tmp2,"%02u-%02u-%02u%02u:%02u"
,date.da_mon,date.da_day,date.da_year-1900 ,date.da_mon,date.da_day,TM_YEAR(date.da_year-1900)
,curtime.ti_hour,curtime.ti_min); ,curtime.ti_hour,curtime.ti_min);
sprintf(str,"%c%-7d%-13.13s%-25.25s" sprintf(str,"%c%-7d%-13.13s%-25.25s"
"%-25.25s%-25.25s%12s%-8d%-6lu\xe1%c%c%c%c%c" "%-25.25s%-25.25s%12s%-8d%-6lu\xe1%c%c%c%c%c"
...@@ -832,7 +835,7 @@ for(i=0;i<usrgrps;i++) { ...@@ -832,7 +835,7 @@ for(i=0;i<usrgrps;i++) {
if(p!=NULL) *p=0; } if(p!=NULL) *p=0; }
n=((i+1)*100)+j+1; /* ggss */ n=((i+1)*100)+j+1; /* ggss */
sprintf(tmp2,"%02u-%02u-%02u%02u:%02u" sprintf(tmp2,"%02u-%02u-%02u%02u:%02u"
,date.da_mon,date.da_day,date.da_year-1900 ,date.da_mon,date.da_day,TM_YEAR(date.da_year-1900)
,curtime.ti_hour,curtime.ti_min); ,curtime.ti_hour,curtime.ti_min);
if(msg[k]->mode&MSG_PRIVATE) { if(msg[k]->mode&MSG_PRIVATE) {
if(msg[k]->mode&MSG_READ) if(msg[k]->mode&MSG_READ)
...@@ -1073,7 +1076,7 @@ for(i=0;i<qhub[hubnum]->subs;i++) { ...@@ -1073,7 +1076,7 @@ for(i=0;i<qhub[hubnum]->subs;i++) {
n=qhub[hubnum]->conf[i]; n=qhub[hubnum]->conf[i];
unixtodos(msg[k]->time,&date,&curtime); unixtodos(msg[k]->time,&date,&curtime);
sprintf(tmp2,"%02u-%02u-%02u%02u:%02u" sprintf(tmp2,"%02u-%02u-%02u%02u:%02u"
,date.da_mon,date.da_day,date.da_year-1900 ,date.da_mon,date.da_day,TM_YEAR(date.da_year-1900)
,curtime.ti_hour,curtime.ti_min); ,curtime.ti_hour,curtime.ti_min);
if(msg[k]->mode&MSG_PRIVATE) { if(msg[k]->mode&MSG_PRIVATE) {
...@@ -1450,7 +1453,10 @@ for(l=128;l<size;l+=i*128) { ...@@ -1450,7 +1453,10 @@ for(l=128;l<size;l+=i*128) {
strcpy(tmp,useron.alias); } strcpy(tmp,useron.alias); }
date.da_mon=((block[8]&0xf)*10)+(block[9]&0xf); date.da_mon=((block[8]&0xf)*10)+(block[9]&0xf);
date.da_day=((block[11]&0xf)*10)+(block[12]&0xf); date.da_day=((block[11]&0xf)*10)+(block[12]&0xf);
date.da_year=((block[14]&0xf)*10)+(block[15]&0xf)+1900; date.da_year=((block[14]&0xf)*10)+(block[15]&0xf);
if(date.da_year<Y2K_2DIGIT_WINDOW)
date.da_year+=100;
date.da_year+=1900;
curtime.ti_hour=((block[16]&0xf)*10)+(block[17]&0xf); curtime.ti_hour=((block[16]&0xf)*10)+(block[17]&0xf);
curtime.ti_min=((block[19]&0xf)*10)+(block[20]&0xf); curtime.ti_min=((block[19]&0xf)*10)+(block[20]&0xf);
curtime.ti_sec=0; curtime.ti_sec=0;
...@@ -1616,7 +1622,10 @@ for(l=128;l<size;l+=i*128) { ...@@ -1616,7 +1622,10 @@ for(l=128;l<size;l+=i*128) {
date.da_mon=((block[8]&0xf)*10)+(block[9]&0xf); date.da_mon=((block[8]&0xf)*10)+(block[9]&0xf);
date.da_day=((block[11]&0xf)*10)+(block[12]&0xf); date.da_day=((block[11]&0xf)*10)+(block[12]&0xf);
date.da_year=((block[14]&0xf)*10)+(block[15]&0xf)+1900; date.da_year=((block[14]&0xf)*10)+(block[15]&0xf);
if(date.da_year<Y2K_2DIGIT_WINDOW)
date.da_year+=100;
date.da_year+=1900;
curtime.ti_hour=((block[16]&0xf)*10)+(block[17]&0xf); curtime.ti_hour=((block[16]&0xf)*10)+(block[17]&0xf);
curtime.ti_min=((block[19]&0xf)*10)+(block[20]&0xf); curtime.ti_min=((block[19]&0xf)*10)+(block[20]&0xf);
curtime.ti_sec=0; curtime.ti_sec=0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment