| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
We only ever assign from `struct tm` to `struct TM`, not the other way
around, so making this const regardless of what `struct tm` has should
be safe.
|
|
|
|
|
|
|
|
|
|
| |
This macro is now only used once. It is accessible outside perl because
it is in time64.h, but isn't used in cpan. Remove it and place its
expansion in time64.c.
Part of the expansion called another function. That function can be
removed and the expansion simplified, since gmtime() is now
automatically converted into gmtime_r() if available and needed.
|
|
|
|
|
|
|
|
|
| |
This macro is now only used once, and was the only caller of a helper
function. Thus both can be removed and inlined, simplifying things.
Further, most of the function's functionality can be removed, since it
was an attempt to simulate localtime_r(), which is now automatically
furnished by reentrant.[ch] if needed.
|
|
|
|
|
|
|
|
|
|
| |
We changed to use symbols not likely to be used by non-Perl code that
could conflict, and which have trailing underbars, so they don't look
like a regular Perl #define.
See https://rt.perl.org/Ticket/Display.html?id=131110
There are many more header files which are not guarded.
|
| |
|
| |
|
| |
|
|
|
|
| |
http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/lib_ref/t/tm.html
|
|
|
|
| |
https://android.googlesource.com/platform/bionic.git/+/master/libc/include/time.h
|
|
|
|
|
|
|
| |
This means it should run on anything that does not have a 64-bit
integer type available but does have a double. Presumably this
includes platforms that define PERL_MICRO, so we now use the
same extended time implementation for everything that runs Perl.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All of the time64 functions are only visible within pp_sys.c and are not
part of the public API, so make them all static and give them the S_ prefix.
A side effect of this is that we now unambiguously use S_localtime64_r and
S_gmtime64_r and should no longer collide with system-supplied versions, if
any.
One possible future direction is that if and when Configure detects any
system-supplied *time64_r functions, their prototypes, and their valid
time ranges, we could optionally select those instead of the home-grown
ones.
Another possible future direction is that we could s/S_/Perl_/ and make
the *time64_r functions part of the public API in some post-5.10.x
release. Currently they are only exposed to the outside world via
Perl_pp_gmtime.
Also gave some TRACE macros more specific names.
|
| |
|
|
|
|
| |
This probably needs refinement, possibly a new Configure variable.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Configuration information split out into its own header.
Added files to MANIFEST
Turn off USE_SYSTEM_GMTIME, ours is more reliable and possibly faster.
Fix type warnings found on Windows.
Remove unnecessary use of floor() and ceil().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LOCALTIME_MAX to 0x7fff573e.
Update from y2038.
Use the new TM64 struct so years can go out past y2**31
Defines a Year type to avoid converting years to ints.
Remove the TIMGM work around code, using timegm64() is fine and it
saves us from having to convert from TM to tm.
Make functions private with static rather than the _foo convention.
Even faster for distant dates.
|
|
file isn't about just localtime() anymore.
|