mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 19:09:58 +08:00
c9dded6775
* libc/time/month_lengths.c: New file with __month_lengths array (previously mon_lengths array in mktm_r.c) * libc/time/tzcalc_limits.c: New file with __tzcalc_limits() from mktm_r.c * libc/time/lcltime_r.c (localtime_r): Simplify by changing call to _mktm_r() with call to gmtime_r() and code moved from _mktm_r() which was used to do time zone adjustments * libc/time/gmtime_r.c (gmtime_r): Simplify by moving all relevant code from _mktm_r(), breaking all dependencies on time zone related functions * libc/time/mktm_r.c: Delete file * libc/time/local.h: Update accordingly - remove declaration of _mktm_r(), add declaration of __month_lengths[] * libc/time/Makefile.am: Modify accordingly. * libc/time/Makefile.in: Regenerate.
38 lines
902 B
C
38 lines
902 B
C
/* local header used by libc/time routines */
|
|
#include <_ansi.h>
|
|
#include <time.h>
|
|
|
|
#define SECSPERMIN 60L
|
|
#define MINSPERHOUR 60L
|
|
#define HOURSPERDAY 24L
|
|
#define SECSPERHOUR (SECSPERMIN * MINSPERHOUR)
|
|
#define SECSPERDAY (SECSPERHOUR * HOURSPERDAY)
|
|
#define DAYSPERWEEK 7
|
|
#define MONSPERYEAR 12
|
|
|
|
#define YEAR_BASE 1900
|
|
#define EPOCH_YEAR 1970
|
|
#define EPOCH_WDAY 4
|
|
#define EPOCH_YEARS_SINCE_LEAP 2
|
|
#define EPOCH_YEARS_SINCE_CENTURY 70
|
|
#define EPOCH_YEARS_SINCE_LEAP_CENTURY 370
|
|
|
|
#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)
|
|
|
|
int _EXFUN (__tzcalc_limits, (int __year));
|
|
|
|
extern _CONST int __month_lengths[2][MONSPERYEAR];
|
|
|
|
/* locks for multi-threading */
|
|
#ifdef __SINGLE_THREAD__
|
|
#define TZ_LOCK
|
|
#define TZ_UNLOCK
|
|
#else
|
|
#define TZ_LOCK __tz_lock()
|
|
#define TZ_UNLOCK __tz_unlock()
|
|
#endif
|
|
|
|
void _EXFUN(__tz_lock,(_VOID));
|
|
void _EXFUN(__tz_unlock,(_VOID));
|
|
|