* Makefile.in: add target for datetest
authorBarry Jaspan <bjaspan@mit.edu>
Mon, 19 Aug 1996 16:12:18 +0000 (16:12 +0000)
committerBarry Jaspan <bjaspan@mit.edu>
Mon, 19 Aug 1996 16:12:18 +0000 (16:12 +0000)
* getdate.y: accept dates after 1999

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8953 dc483132-0cff-0310-8789-dd5450dbe970

src/kadmin/cli/ChangeLog
src/kadmin/cli/Makefile.in
src/kadmin/cli/getdate.y

index 3c1547e6a568546ab81d2f51ca187db7cf2ed6c3..db97049215213b6c01c8e01c9ba8c289ada473ce 100644 (file)
@@ -1,3 +1,9 @@
+Mon Aug 19 12:11:27 1996  Barry Jaspan  <bjaspan@mit.edu>
+
+       * Makefile.in: add target for datetest
+
+       * getdate.y: accept dates after 1999
+
 Fri Aug 16 13:46:31 1996  Barry Jaspan  <bjaspan@mit.edu>
 
        * kadmin.c: update addprinc and modprinc usage
index bd1c5bfa59665b7a1af1e681d22a8b2346efe8f8..5136c450c4dc08059b9dd3bad58eb8367f9ce31a 100644 (file)
@@ -19,3 +19,7 @@ install::
 
 clean::
        $(RM) $(PROG).local $(PROG) $(OBJS)
+
+# for testing getdate.y
+datetest: getdate.c
+       $(CC) -o datetest $(CFLAGS) $(LDFLAGS) $(LDARGS) -DTEST getdate.c
index 975a819f5a9aca5168143f79425c29767d6042bb..e105d19e57bcd2780d7466e9c2eb7b29283295cc 100644 (file)
@@ -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)