From 985e4d63a0aa03d570c1627d4eb098de2246042e Mon Sep 17 00:00:00 2001 From: hniksic Date: Wed, 6 Jul 2005 09:06:01 -0700 Subject: [PATCH] [svn] Doc fix. --- src/cmpt.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/cmpt.c b/src/cmpt.c index 63305398..23d7dec9 100644 --- a/src/cmpt.c +++ b/src/cmpt.c @@ -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; -- 2.39.2