X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/4c6e94b1e729ad5095947e2c098f9651932479d7..0f23a95ef0b32d74f2e94142b4dd46d4de3fc309:/time64.h diff --git a/time64.h b/time64.h index 329d425..c065766 100644 --- a/time64.h +++ b/time64.h @@ -1,14 +1,14 @@ #include #include "time64_config.h" -#ifndef TIME64_H -# define TIME64_H +#ifndef PERL_TIME64_H_ +# define PERL_TIME64_H_ /* Set our custom types */ typedef INT_64_T Int64; typedef Int64 Time64_T; -typedef Int64 Year; +typedef I32 Year; /* A copy of the tm struct but with a 64 bit year */ @@ -28,11 +28,15 @@ struct TM64 { #endif #ifdef HAS_TM_TM_ZONE -# ifdef __GLIBC__ - const char *tm_zone; -# else - char *tm_zone; +/* If glibc is defined or we are on QNX, use const. + * Otherwise, if we are on android, use const but + * not with g++. + */ +# if defined(__GLIBC__) || (defined(__ANDROID__) && !defined(__cplusplus)) \ + || defined(__QNX__) || defined(__CYGWIN__) + const # endif + char *tm_zone; #endif }; @@ -45,22 +49,21 @@ struct TM64 { #endif -/* Declare public functions */ -struct TM *gmtime64_r (const Time64_T *, struct TM *); -struct TM *localtime64_r (const Time64_T *, struct TM *); -Time64_T timegm64 (struct TM *); +/* Declare functions */ +struct TM *Perl_gmtime64_r (const Time64_T *, struct TM *); +struct TM *Perl_localtime64_r (const Time64_T *, struct TM *); /* Not everyone has gm/localtime_r(), provide a replacement */ #ifdef HAS_LOCALTIME_R # define LOCALTIME_R(clock, result) (L_R_TZSET localtime_r(clock, result)) #else -# define LOCALTIME_R(clock, result) (L_R_TZSET fake_localtime_r(clock, result)) +# define LOCALTIME_R(clock, result) (L_R_TZSET S_localtime_r(clock, result)) #endif #ifdef HAS_GMTIME_R # define GMTIME_R(clock, result) gmtime_r(clock, result) #else -# define GMTIME_R(clock, result) fake_gmtime_r(clock, result) +# define GMTIME_R(clock, result) S_gmtime_r(clock, result) #endif #endif