(RelativeMonth): Add 1900 to the year so that relative date specs
authorJim Meyering <jim@meyering.net>
Wed, 6 Mar 1996 04:57:01 +0000 (04:57 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 6 Mar 1996 04:57:01 +0000 (04:57 +0000)
that push the year through the end of the century work.  For example,
`date -d "01/01/1998 3 years" +%Y' now prints 2001.
From Peter Dalgaard (pd@kubism.ku.dk).

lib/getdate.y

index ce11905..a1b8ee8 100644 (file)
@@ -682,7 +682,7 @@ RelativeMonth (Start, RelMonth)
   if (RelMonth == 0)
     return 0;
   tm = localtime (&Start);
-  Month = 12 * tm->tm_year + tm->tm_mon + RelMonth;
+  Month = 12 * (1900 + tm->tm_year) + tm->tm_mon + RelMonth;
   Year = Month / 12;
   Month = Month % 12 + 1;
   return DSTcorrect (Start,
@@ -745,7 +745,7 @@ LookupWord (buff)
       return tp->type;
     }
 
-  if (strcmp (buff, "dst") == 0) 
+  if (strcmp (buff, "dst") == 0)
     return tDST;
 
   for (tp = UnitsTable; tp->name; tp++)
@@ -896,7 +896,7 @@ get_date (p, now)
 
     if (! (tm = localtime (&ftz.time)))
       return -1;
-       
+
     ftz.timezone = difftm (&gmt, tm) / 60;
     if (tm->tm_isdst)
       ftz.timezone += 60;