summaryrefslogtreecommitdiffstats
path: root/src/kadmin/cli/getdate.y
diff options
context:
space:
mode:
authorBarry Jaspan <bjaspan@mit.edu>1996-08-19 16:12:18 +0000
committerBarry Jaspan <bjaspan@mit.edu>1996-08-19 16:12:18 +0000
commit173a1de90f4bfe545a1160f3f2fd2bdc641d1885 (patch)
tree9d77e00797096c435b274d590034e06f74883bd2 /src/kadmin/cli/getdate.y
parentfb2c7ad3a238a8ea0656c1d748894d3715107dc2 (diff)
downloadkrb5-173a1de90f4bfe545a1160f3f2fd2bdc641d1885.tar.gz
krb5-173a1de90f4bfe545a1160f3f2fd2bdc641d1885.tar.xz
krb5-173a1de90f4bfe545a1160f3f2fd2bdc641d1885.zip
* Makefile.in: add target for datetest
* getdate.y: accept dates after 1999 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8953 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/kadmin/cli/getdate.y')
-rw-r--r--src/kadmin/cli/getdate.y13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/kadmin/cli/getdate.y b/src/kadmin/cli/getdate.y
index 975a819f5a..e105d19e57 100644
--- a/src/kadmin/cli/getdate.y
+++ b/src/kadmin/cli/getdate.y
@@ -652,16 +652,17 @@ Convert(Month, Day, Year, Hours, Minutes, Seconds, Meridian, DSTmode)
Year += 1900;
DaysInMonth[1] = Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0)
? 29 : 28;
- if (Year < EPOCH || Year > 1999
- || Month < 1 || Month > 12
- /* Lint fluff: "conversion from long may lose accuracy" */
- || Day < 1 || Day > DaysInMonth[(int)--Month])
- return -1;
+ if (Year < EPOCH /* XXX DANGER! || Year > 1999 */
+ || Month < 1 || Month > 12
+ /* Lint fluff: "conversion from long may lose accuracy" */
+ || Day < 1 || Day > DaysInMonth[(int)--Month])
+ return -1;
for (Julian = Day - 1, i = 0; i < Month; i++)
Julian += DaysInMonth[i];
for (i = EPOCH; i < Year; i++)
- Julian += 365 + (i % 4 == 0);
+ Julian += 365 + ((i % 4 == 0) && ((Year % 100 != 0) ||
+ (Year % 400 == 0)));
Julian *= SECSPERDAY;
Julian += yyTimezone * 60L;
if ((tod = ToSeconds(Hours, Minutes, Seconds, Meridian)) < 0)