From cebecb6e071c032a311aa7c1e1b0e65e81bbca60 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 26 Sep 2000 07:09:33 +0000 Subject: [PATCH] Y2K fix. --- src/sbbs2/smm/smb2smm.c | 4 +++- src/sbbs2/smm/smm.c | 2 ++ src/sbbs2/smm/smmutil.c | 4 +++- src/sbbs2/uti/uti.c | 6 +++--- src/sbbs2/uti/utiexprt.c | 2 +- src/sbbs2/uti/utiimprt.c | 5 ++++- 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/sbbs2/smm/smb2smm.c b/src/sbbs2/smm/smb2smm.c index c2cc14965d..de596dd128 100644 --- a/src/sbbs2/smm/smb2smm.c +++ b/src/sbbs2/smm/smb2smm.c @@ -125,7 +125,7 @@ time_t dstrtounix(char *str) if(!strncmp(str,"00/00/00",8)) return(0); curtime.ti_hour=curtime.ti_min=curtime.ti_sec=0; -if(str[6]<7) +if(str[6]<'7') date.da_year=2000+((str[6]&0xf)*10)+(str[7]&0xf); else date.da_year=1900+((str[6]&0xf)*10)+(str[7]&0xf); @@ -161,6 +161,8 @@ if(birth[0]<=SP) return(0); getdate(&date); age=(date.da_year-1900)-(((birth[6]&0xf)*10)+(birth[7]&0xf)); +if(age>90) + age-=90; if(atoi(birth)>12 || atoi(birth+3)>31) return(0); if(((birth[0]&0xf)*10)+(birth[1]&0xf)>date.da_mon || diff --git a/src/sbbs2/smm/smm.c b/src/sbbs2/smm/smm.c index fbd3667c5e..d71d058266 100644 --- a/src/sbbs2/smm/smm.c +++ b/src/sbbs2/smm/smm.c @@ -589,6 +589,8 @@ if(birth[0]<=SP) return(0); getdate(&date); age=(date.da_year-1900)-(((birth[6]&0xf)*10)+(birth[7]&0xf)); +if(age>90) + age-=90; if(atoi(birth)>12 || atoi(birth+3)>31) return(0); if(((birth[0]&0xf)*10)+(birth[1]&0xf)>date.da_mon || diff --git a/src/sbbs2/smm/smmutil.c b/src/sbbs2/smm/smmutil.c index 85ddcf7b53..d2c5eaa695 100644 --- a/src/sbbs2/smm/smmutil.c +++ b/src/sbbs2/smm/smmutil.c @@ -45,6 +45,8 @@ if(birth[0]<=SP) return(0); getdate(&date); age=(date.da_year-1900)-(((birth[6]&0xf)*10)+(birth[7]&0xf)); +if(age>90) + age-=90; if(atoi(birth)>12 || atoi(birth+3)>31) return(0); if(((birth[0]&0xf)*10)+(birth[1]&0xf)>date.da_mon || @@ -75,7 +77,7 @@ now=time(NULL); gm=localtime(&now); fseek(log,0L,SEEK_END); fprintf(log,"%02u/%02u/%02u %02u:%02u:%02u %s\r\n" - ,gm->tm_mon+1,gm->tm_mday,gm->tm_year,gm->tm_hour,gm->tm_min,gm->tm_sec + ,gm->tm_mon+1,gm->tm_mday,TM_YEAR(gm->tm_year),gm->tm_hour,gm->tm_min,gm->tm_sec ,buf); fflush(log); } diff --git a/src/sbbs2/uti/uti.c b/src/sbbs2/uti/uti.c index 4564ff0926..fb290e0a33 100644 --- a/src/sbbs2/uti/uti.c +++ b/src/sbbs2/uti/uti.c @@ -219,8 +219,8 @@ if(!code) { gotoxy(txtinfo.curx,txtinfo.cury); } t=time(NULL); unixtodos(t,&date,&curtime); -sprintf(str,"%02u/%02u/%02u %02u:%02u:%02u Exiting (%d)\r\n\r\n" - ,date.da_mon,date.da_day,date.da_year-1900 +sprintf(str,"%02u/%02u/%u %02u:%02u:%02u Exiting (%d)\r\n\r\n" + ,date.da_mon,date.da_day,date.da_year ,curtime.ti_hour,curtime.ti_min,curtime.ti_sec ,code); write(logfile,str,strlen(str)); @@ -282,7 +282,7 @@ if((logfile=nopen(str,O_WRONLY|O_CREAT|O_APPEND))==-1) { t=time(NULL); tm=gmtime(&t); sprintf(str,"%02u/%02u/%02u %02u:%02u:%02u %-8s %s \"" - ,tm->tm_mon+1,tm->tm_mday,tm->tm_year + ,tm->tm_mon+1,tm->tm_mday,TM_YEAR(tm->tm_year) ,tm->tm_hour,tm->tm_min,tm->tm_sec ,name,VER); printf("\n\n"); diff --git a/src/sbbs2/uti/utiexprt.c b/src/sbbs2/uti/utiexprt.c index 0a338d9713..a5a44daf2b 100644 --- a/src/sbbs2/uti/utiexprt.c +++ b/src/sbbs2/uti/utiexprt.c @@ -135,7 +135,7 @@ for(l=0;l<posts;l++) { "%s\r\n%c\r\n%c\r\nTEXT:\r\n" ,msg.hdr.number ,msg.hdr.thread_orig - ,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 ,msg.hdr.attr&MSG_PRIVATE ? "PRIVATE" : "PUBLIC" ,msg.hdr.attr&MSG_READ ? 'Y':'N' diff --git a/src/sbbs2/uti/utiimprt.c b/src/sbbs2/uti/utiimprt.c index 29390c804a..acfac0697e 100644 --- a/src/sbbs2/uti/utiimprt.c +++ b/src/sbbs2/uti/utiimprt.c @@ -71,7 +71,10 @@ printf("\rdstrtounix "); #endif curtime.ti_hour=curtime.ti_min=curtime.ti_sec=0; -date.da_year=1900+((str[6]&0xf)*10)+(str[7]&0xf); +date.da_year=((str[6]&0xf)*10)+(str[7]&0xf); +if(date.da_year<Y2K_2DIGIT_WINDOW) + date.da_year+=100; +date.da_year+=1900; date.da_mon=((str[0]&0xf)*10)+(str[1]&0xf); date.da_day=((str[3]&0xf)*10)+(str[4]&0xf); return(dostounix(&date,&curtime)); -- GitLab