]> sjero.net Git - wget/commitdiff
[svn] Doc fix.
authorhniksic <devnull@localhost>
Wed, 6 Jul 2005 16:06:01 +0000 (09:06 -0700)
committerhniksic <devnull@localhost>
Wed, 6 Jul 2005 16:06:01 +0000 (09:06 -0700)
src/cmpt.c

index 63305398a2d3925f7120409c5d6464eeeced0ce0..23d7dec9c6bf422288b7e4f7f57d232e0a1f522f 100644 (file)
@@ -1225,27 +1225,28 @@ fnmatch (const char *pattern, const char *string, int flags)
 /* timegm is a GNU extension, but lately also available on *BSD and
    possibly elsewhere. */
 
-/* Inverse of gmtime: converts struct tm to time_t, assuming the data
-   in tm is UTC rather than local timezone.  This implementation
-   returns the number of seconds since 1970-01-01, converted to
-   time_t.  */
-
-#define IS_LEAP(year)                                          \
+/* True if YEAR is a leap year. */
+#define ISLEAP(year)                                           \
   ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
 
 /* Number of leap years in the range [y1, y2). */
-#define LEAPDAYS(y1, y2)                                               \
+#define LEAPYEARS(y1, y2)                                              \
   ((y2-1)/4 - (y1-1)/4) - ((y2-1)/100 - (y1-1)/100) + ((y2-1)/400 - (y1-1)/400)
 
+/* Inverse of gmtime: converts struct tm to time_t, assuming the data
+   in tm is UTC rather than local timezone.  This implementation
+   returns the number of seconds elapsed since midnight 1970-01-01,
+   converted to time_t.  */
+
 time_t
 timegm (struct tm *t)
 {
   static const unsigned short int month_to_days[][13] = {
-    { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 },
-    { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 }
+    { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 }, /* normal */
+    { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 }  /* leap */
   };
   const int year = 1900 + t->tm_year;
-  unsigned long secs;
+  unsigned long secs;  /* until 2106-02-07 for 32-bit unsigned long */
   int days;
 
   if (year < 1970)
@@ -1254,10 +1255,10 @@ timegm (struct tm *t)
   days = 365 * (year - 1970);
   /* Take into account leap years between 1970 and YEAR, not counting
      YEAR itself.  */
-  days += LEAPDAYS (1970, year);
+  days += LEAPYEARS (1970, year);
   if (t->tm_mon < 0 || t->tm_mon >= 12)
     return (time_t) -1;
-  days += month_to_days[IS_LEAP (year)][t->tm_mon];
+  days += month_to_days[ISLEAP (year)][t->tm_mon];
   days += t->tm_mday - 1;
 
   secs = days * 86400 + t->tm_hour * 3600 + t->tm_min * 60 + t->tm_sec;