Date: Tue, 9 Jul 1996 21:18:02 -0400 From: "Stephen J. Roznowski" <sjr@zombie.ncsc.mil> To: FreeBSD-gnats-submit@freebsd.org Subject: misc/1380: Year 2000 breakage with tm_year Message-ID: <199607100118.VAA13250@zombie.ncsc.mil> Resent-Message-ID: <199607100120.SAA23012@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 1380 >Category: misc >Synopsis: Year 2000 breakage with tm_year >Confidential: no >Severity: serious >Priority: low >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Jul 9 18:20:01 PDT 1996 >Last-Modified: >Originator: Stephen J. Roznowski >Organization: >Release: FreeBSD 2.2-960612-SNAP i386 >Environment: >Description: Several programs have a hardcoded 19 in responses for the year. This will break in 4 years... This was fixed in NetBSD as PR misc/2308. (I think that I have the same changes as were finally committed) >How-To-Repeat: find /usr/src -type f -print | xargs grep '19%' >Fix: As I stated in the NetBSD PR: "There is also similiar code in "gnu/usr.bin/rcs/lib/rcstime.c", but I'm less sure of the proper fix there." *** usr.bin/yacc/test/ftp.tab.c.orig Tue Jul 9 16:57:53 1996 --- usr.bin/yacc/test/ftp.tab.c Tue Jul 9 17:00:13 1996 *************** *** 1467,1474 **** struct tm *gmtime(); t = gmtime(&stbuf.st_mtime); reply(213, ! "19%02d%02d%02d%02d%02d%02d", ! t->tm_year, t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); } } --- 1467,1474 ---- struct tm *gmtime(); t = gmtime(&stbuf.st_mtime); reply(213, ! "%04d%02d%02d%02d%02d%02d", ! 1900+t->tm_year, t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); } } *** usr.bin/yacc/test/ftp.y.orig Tue Jul 9 16:59:03 1996 --- usr.bin/yacc/test/ftp.y Tue Jul 9 16:59:33 1996 *************** *** 455,462 **** struct tm *gmtime(); t = gmtime(&stbuf.st_mtime); reply(213, ! "19%02d%02d%02d%02d%02d%02d", ! t->tm_year, t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); } } --- 455,462 ---- struct tm *gmtime(); t = gmtime(&stbuf.st_mtime); reply(213, ! "%04d%02d%02d%02d%02d%02d", ! 1900+t->tm_year, t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); } } *** libexec/ftpd/ftpcmd.y.orig Tue Jul 9 17:00:30 1996 --- libexec/ftpd/ftpcmd.y Tue Jul 9 17:00:49 1996 *************** *** 491,498 **** struct tm *t; t = gmtime(&stbuf.st_mtime); reply(213, ! "19%02d%02d%02d%02d%02d%02d", ! t->tm_year, t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); } } --- 491,498 ---- struct tm *t; t = gmtime(&stbuf.st_mtime); reply(213, ! "%04d%02d%02d%02d%02d%02d", ! 1900+t->tm_year, t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec); } } *** usr.bin/make/targ.c.orig Tue Jul 9 17:01:00 1996 --- usr.bin/make/targ.c Tue Jul 9 17:01:22 1996 *************** *** 467,475 **** parts = localtime(&time); ! sprintf (buf, "%d:%02d:%02d %s %d, 19%d", parts->tm_hour, parts->tm_min, parts->tm_sec, ! months[parts->tm_mon], parts->tm_mday, parts->tm_year); return(buf); } --- 467,475 ---- parts = localtime(&time); ! sprintf (buf, "%d:%02d:%02d %s %d, %d", parts->tm_hour, parts->tm_min, parts->tm_sec, ! months[parts->tm_mon], parts->tm_mday, 1900+parts->tm_year); return(buf); } *** gnu/usr.sbin/isdn/load/load.c.orig Tue Jul 9 17:18:28 1996 --- gnu/usr.sbin/isdn/load/load.c Tue Jul 9 17:18:56 1996 *************** *** 71,78 **** tt = time(NULL); t = localtime(&tt); ! sprintf(buf, "%.2d%.2d%.2d%.2d%.2d19%.2d", t->tm_hour, ! t->tm_min, t->tm_sec, t->tm_mday, t->tm_mon + 1, t->tm_year); if (ioctl(f, NICCY_SET_CLOCK, buf) < 0) { --- 71,78 ---- tt = time(NULL); t = localtime(&tt); ! sprintf(buf, "%.2d%.2d%.2d%.2d%.2d%.4d", t->tm_hour, ! t->tm_min, t->tm_sec, t->tm_mday, t->tm_mon + 1, 1900+t->tm_year); if (ioctl(f, NICCY_SET_CLOCK, buf) < 0) { *** gnu/usr.sbin/isdn/misc/stime.c.orig Tue Jul 9 17:19:09 1996 --- gnu/usr.sbin/isdn/misc/stime.c Tue Jul 9 17:19:24 1996 *************** *** 38,45 **** } tt = time(NULL); t = localtime(&tt); ! sprintf(buf, "%.2d%.2d%.2d%.2d%.2d19%.2d", t->tm_hour, ! t->tm_min, t->tm_sec, t->tm_mday, t->tm_mon + 1, t->tm_year); if (ioctl(f, NICCY_SET_CLOCK, buf) < 0) { --- 38,45 ---- } tt = time(NULL); t = localtime(&tt); ! sprintf(buf, "%.2d%.2d%.2d%.2d%.2d%.4d", t->tm_hour, ! t->tm_min, t->tm_sec, t->tm_mday, t->tm_mon + 1, 1900+t->tm_year); if (ioctl(f, NICCY_SET_CLOCK, buf) < 0) { >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607100118.VAA13250>