diff --git a/src/sbbs2/smm/smb2smm.c b/src/sbbs2/smm/smb2smm.c index c2cc14965d206c87f9c0b7e06184c8f18d1b6645..de596dd12851e1c9ddebfb7716bd1f899a76d774 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 fbd3667c5e7d40bba58531211db4db64ce273a80..d71d05826691f6b6268664d0f8c18317f4a9c590 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 85ddcf7b532e5f32202f59fbca8baf073673083c..d2c5eaa695b4c8b5de4b7b04710093a81a21a5fe 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 4564ff09260f4bba3877aac197152e2f1752d6c2..fb290e0a3313ec0656cda46b083c3de32912d501 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 0a338d9713945848a42d760671f1fc9b5dc03cdc..a5a44daf2b38c22dceac8f15cad9da31b3c8caf3 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 29390c804a5e4d48fb8eba370c5184d9dadd59d4..acfac0697e964cdb5202401fe9172d69a296378b 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));