r56924 - in /trunk/libtime-y2038-perl: Changes MANIFEST META.yml SIGNATURE debian/changelog inc/Local/Module/Build.pm lib/Time/y2038.pm lib/Time/y2038.xs lib/Time/y2038/Everywhere.pm t/localtimetz.t y2038/time64.c y2038/time64_limits.h.in
ivan at users.alioth.debian.org
ivan at users.alioth.debian.org
Mon Apr 26 03:51:02 UTC 2010
Author: ivan
Date: Mon Apr 26 03:50:53 2010
New Revision: 56924
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=56924
Log:
new upstream
Added:
trunk/libtime-y2038-perl/t/localtimetz.t
- copied unchanged from r56922, branches/upstream/libtime-y2038-perl/current/t/localtimetz.t
Modified:
trunk/libtime-y2038-perl/Changes
trunk/libtime-y2038-perl/MANIFEST
trunk/libtime-y2038-perl/META.yml
trunk/libtime-y2038-perl/SIGNATURE
trunk/libtime-y2038-perl/debian/changelog
trunk/libtime-y2038-perl/inc/Local/Module/Build.pm
trunk/libtime-y2038-perl/lib/Time/y2038.pm
trunk/libtime-y2038-perl/lib/Time/y2038.xs
trunk/libtime-y2038-perl/lib/Time/y2038/Everywhere.pm
trunk/libtime-y2038-perl/y2038/time64.c
trunk/libtime-y2038-perl/y2038/time64_limits.h.in
Modified: trunk/libtime-y2038-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/Changes?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/Changes (original)
+++ trunk/libtime-y2038-perl/Changes Mon Apr 26 03:50:53 2010
@@ -1,3 +1,14 @@
+20100403 Sat Apr 3 20:25:49 PDT 2010
+ Build
+ * Add a timeout to the system time.h limit check for systems that
+ hang when you try times too large. [rt.cpan.org 40764]
+
+ Bugs
+ * strict compilers, like Sun's cc, would error because we passed
+ too many elements to the tm struct. [rt.cpan.org #55225]
+ * Ensure localtime() honors the TZ environment variable.
+
+
20100225 Thu Feb 25 23:09:15 PST 2010
Bugs
* Accidentally left a debugging print in mktime()
Modified: trunk/libtime-y2038-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/MANIFEST?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/MANIFEST (original)
+++ trunk/libtime-y2038-perl/MANIFEST Mon Apr 26 03:50:53 2010
@@ -11,6 +11,7 @@
META.yml
munge_config
t/everywhere.t
+t/localtimetz.t
t/time.t
t/timegm.t
typemap
Modified: trunk/libtime-y2038-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/META.yml?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/META.yml (original)
+++ trunk/libtime-y2038-perl/META.yml Mon Apr 26 03:50:53 2010
@@ -11,7 +11,7 @@
Test::Warn: 0.11
configure_requires:
Module::Build: 0.36
-generated_by: 'Module::Build version 0.3601'
+generated_by: 'Module::Build version 0.3603'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -20,12 +20,12 @@
provides:
Time::y2038:
file: lib/Time/y2038.pm
- version: 20100225
+ version: 20100403
Time::y2038::Everywhere:
file: lib/Time/y2038/Everywhere.pm
- version: 20100225
+ version: 20100403
requires:
perl: v5.6.1
resources:
license: http://dev.perl.org/licenses/
-version: 20100225
+version: 20100403
Modified: trunk/libtime-y2038-perl/SIGNATURE
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/SIGNATURE?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/SIGNATURE (original)
+++ trunk/libtime-y2038-perl/SIGNATURE Mon Apr 26 03:50:53 2010
@@ -15,29 +15,30 @@
Hash: SHA1
SHA1 4d4b9fe7a9836ea619fbc68874efa7d7e6d60cd2 Build.PL
-SHA1 ba2cd06b37426fbe4f35abb48450892d0ba479b7 Changes
+SHA1 3b29b365a4cdf942f0eab9d537c0d93dd2007611 Changes
SHA1 fb110d0098fa623a2d6566e86a6d630110f60d23 INSTALL
-SHA1 0abcc59e081d5fa311e6b18c24f94a4f0a3d47b9 MANIFEST
+SHA1 3170f39a524774094b99997ef580a9760a3d7757 MANIFEST
SHA1 b42c7cde42d44221603a84f6bdfeb4a6005604e5 MANIFEST.SKIP
-SHA1 4ad2939ae908ea735239fd0fb15e0afa6992fbdd META.yml
+SHA1 2df76dbe03a63cc8164fb816b328cf0235239e5e META.yml
SHA1 d2f3d11e9f7f0fd886b47f9257352eb8b71bf4a8 check_max.c
-SHA1 f952a76c3122bcb434c86e606583b11fd1bd3f4a inc/Local/Module/Build.pm
-SHA1 46655ecd65fdca0fe725979a4a0c0e209c5ed8a6 lib/Time/y2038.pm
-SHA1 666e25e498a3bd6bdb9bcab3f9e5b8812e4567f3 lib/Time/y2038.xs
-SHA1 733537345b80d2edba102212d2591b24a7a8581a lib/Time/y2038/Everywhere.pm
+SHA1 21842315e5b12aac383ea48aa10a41a7ab95787d inc/Local/Module/Build.pm
+SHA1 f2cee8c7a7fd7e6422c19727ec5258e359b09803 lib/Time/y2038.pm
+SHA1 ddd3ef1934b37a4fe1644f8045a775a30278df72 lib/Time/y2038.xs
+SHA1 ad65a95fd786d4c53c453ee42055175a63dc080c lib/Time/y2038/Everywhere.pm
SHA1 6c52173a196e81890474ea47f31ba2aeb3b7939c munge_config
SHA1 1fa62ec9022c346fa26bf94652114e38b5efc5f0 t/everywhere.t
+SHA1 76efef2e7c55a7e351c62e44820f0f87b64d85a1 t/localtimetz.t
SHA1 53f53a00f22f19b5f16d7801e730e57c173f61c7 t/time.t
SHA1 851b9264b863b168ed07d17720e0176a0fe67d7c t/timegm.t
SHA1 a915486e0da8713dead77ca21d041c8ae6b6676e typemap
-SHA1 e05084cdf3b64b4fa9883a41aefaa5b3d3e21407 y2038/time64.c
+SHA1 b84518ded0b1ab0d30107cb4d4002bfa64757bff y2038/time64.c
SHA1 0d7cf54304f41d3dbfd803d597c29d62b845ce2a y2038/time64.h
SHA1 015c751b69ae7971c626034ad2b27eaabe5a76a7 y2038/time64_config.h.in
-SHA1 0f73eae859e4709f30194d5e989487ffa7fd28d2 y2038/time64_limits.h.in
+SHA1 95314ecad677f573bf33bbb3c4b70d8880f15975 y2038/time64_limits.h.in
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.13 (Darwin)
-iEYEARECAAYFAkuHdCAACgkQWMohlhD1QyctMgCgwOvJ+LFEFcmCG9snFxnjCDcR
-iPIAoL6Mv3P9NX1xGeSYJKtRswLUH87m
-=xaTK
+iEYEARECAAYFAku4BwEACgkQWMohlhD1QydTmgCg0dkZK9ux6iP9/KLwbhW+G2AA
+9pUAn2dkAgtjHD2DN/UQSjAvPnLY6o5a
+=cNQs
-----END PGP SIGNATURE-----
Modified: trunk/libtime-y2038-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/debian/changelog?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/debian/changelog (original)
+++ trunk/libtime-y2038-perl/debian/changelog Mon Apr 26 03:50:53 2010
@@ -1,3 +1,9 @@
+libtime-y2038-perl (20100403-1) UNRELEASED; urgency=low
+
+ * New upstream release
+
+ -- Ivan Kohler <ivan-debian at 420.am> Sun, 25 Apr 2010 20:44:10 -0700
+
libtime-y2038-perl (20100225-2) unstable; urgency=low
* Take over for the Debian Perl Group
@@ -9,7 +15,7 @@
* Add B-D-I on libmodule-build-perl (>= 0.36) | perl (>= 5.12)
(closes: Bug#576994)
* Using the required Module::Build version should prevent errors about
- tine64_config.h too (closes: Bug#577331)
+ time64_config.h too (closes: Bug#577331)
-- Ivan Kohler <ivan-debian at 420.am> Sun, 18 Apr 2010 09:09:05 -0700
Modified: trunk/libtime-y2038-perl/inc/Local/Module/Build.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/inc/Local/Module/Build.pm?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/inc/Local/Module/Build.pm (original)
+++ trunk/libtime-y2038-perl/inc/Local/Module/Build.pm Mon Apr 26 03:50:53 2010
@@ -4,6 +4,77 @@
use base qw(Module::Build);
use ExtUtils::CBuilder;
+
+# A very conservative set of default limits for the system time.h
+my %Limit_Defaults = (
+ gmtime => {
+ max => 2147483647,
+ min => 0,
+ },
+
+ localtime => {
+ max => 2147483647,
+ min => 0,
+ },
+
+ mktime => {
+ max => {
+ tm_gmtoff => 0,
+ tm_hour => 3,
+ tm_isdst => 0,
+ tm_mday => 19,
+ tm_min => 14,
+ tm_mon => 0,
+ tm_sec => 7,
+ tm_wday => 2,
+ tm_yday => 18,
+ tm_year => 138,
+ tm_zone => "UTC",
+ },
+ min => {
+ tm_gmtoff => 0,
+ tm_hour => 0,
+ tm_isdst => 0,
+ tm_mday => 1,
+ tm_min => 0,
+ tm_mon => 0,
+ tm_sec => 0,
+ tm_wday => 4,
+ tm_yday => 0,
+ tm_year => 70,
+ tm_zone => "UTC",
+ },
+ },
+ timegm => {
+ max => {
+ tm_gmtoff => 0,
+ tm_hour => 3,
+ tm_isdst => 0,
+ tm_mday => 19,
+ tm_min => 14,
+ tm_mon => 0,
+ tm_sec => 7,
+ tm_wday => 2,
+ tm_yday => 18,
+ tm_year => 138,
+ tm_zone => "UTC",
+ },
+
+ min => {
+ tm_gmtoff => 0,
+ tm_hour => 0,
+ tm_isdst => 0,
+ tm_mday => 1,
+ tm_min => 0,
+ tm_mon => 0,
+ tm_sec => 0,
+ tm_wday => 4,
+ tm_yday => 0,
+ tm_year => 70,
+ tm_zone => "UTC",
+ }
+ }
+);
sub is_osx_106 {
return 0 unless $^O eq 'darwin';
@@ -126,11 +197,23 @@
warn " and running it...\n";
require JSON;
- my $json = `./$exe`;
- $json =~ s{^\#.*\n}{}gm;
- my $limits = JSON::from_json($json);
-
+
+ my $limits;
+ my $json = run_in_alarm( 2, sub {
+ return `./$exe`;
+ }, sub {
+ warn " time limit check timed out, using defaults";
+ return;
+ });
warn " Done.\n";
+
+ if( $json ) {
+ $json =~ s{^\#.*\n}{}gm;
+ $limits = JSON::from_json($json);
+ }
+ else {
+ $limits = \%Limit_Defaults;
+ }
my %config;
for my $key (qw(gmtime localtime)) {
@@ -176,6 +259,26 @@
}
+sub run_in_alarm {
+ my($timeout, $try, $catch) = @_;
+
+ my(@ret, $ret);
+ my $pass = eval {
+ local $SIG{ALRM} = sub { die "alarm\n" };
+ alarm $timeout;
+ wantarray ? @ret = $try->() : $ret = $try->();
+ alarm 0;
+ 1;
+ };
+
+ return wantarray ? @ret : $ret if $pass;
+
+ return $catch->() if $@ eq "alarm\n";
+
+ die $@;
+}
+
+
# This is necessary because Cygwin nerotically puts a .exe on
# every executable. This appears to be built into gcc.
sub find_real_exe {
Modified: trunk/libtime-y2038-perl/lib/Time/y2038.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/lib/Time/y2038.pm?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/lib/Time/y2038.pm (original)
+++ trunk/libtime-y2038-perl/lib/Time/y2038.pm Mon Apr 26 03:50:53 2010
@@ -6,7 +6,7 @@
use base qw(Exporter);
use XSLoader;
-our $VERSION = '20100225';
+our $VERSION = '20100403';
our @EXPORT = qw(localtime gmtime timegm timelocal);
XSLoader::load __PACKAGE__, $VERSION;
@@ -118,7 +118,7 @@
=head1 LICENSE & COPYRIGHT
-Copyright 2008 Michael G Schwern
+Copyright 2008-2010 Michael G Schwern
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
@@ -132,4 +132,6 @@
The y2038 project at F<http://y2038.googlecode.com/>
+L<http://xkcd.com/376/>
+
=cut
Modified: trunk/libtime-y2038-perl/lib/Time/y2038.xs
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/lib/Time/y2038.xs?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/lib/Time/y2038.xs (original)
+++ trunk/libtime-y2038-perl/lib/Time/y2038.xs Mon Apr 26 03:50:53 2010
@@ -138,6 +138,7 @@
}
}
+ tzset();
err = localtime64_r(&when, &date);
if( err == NULL )
Modified: trunk/libtime-y2038-perl/lib/Time/y2038/Everywhere.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/lib/Time/y2038/Everywhere.pm?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/lib/Time/y2038/Everywhere.pm (original)
+++ trunk/libtime-y2038-perl/lib/Time/y2038/Everywhere.pm Mon Apr 26 03:50:53 2010
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '20100225';
+our $VERSION = '20100403';
use Time::y2038;
Modified: trunk/libtime-y2038-perl/y2038/time64.c
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/y2038/time64.c?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/y2038/time64.c (original)
+++ trunk/libtime-y2038-perl/y2038/time64.c Mon Apr 26 03:50:53 2010
@@ -1,6 +1,6 @@
/*
-Copyright (c) 2007-2008 Michael G Schwern
+Copyright (c) 2007-2010 Michael G Schwern
This software originally derived from Paul Sheer's pivotal_gmtime_r.c.
@@ -48,96 +48,6 @@
#include "time64.h"
#include "time64_limits.h"
-struct tm SYSTEM_MKTIME_MAX = {
-SYSTEM_MKTIME_MAX_TM_SEC,
-SYSTEM_MKTIME_MAX_TM_MIN,
-SYSTEM_MKTIME_MAX_TM_HOUR,
-SYSTEM_MKTIME_MAX_TM_MDAY,
-SYSTEM_MKTIME_MAX_TM_MON,
-SYSTEM_MKTIME_MAX_TM_YEAR,
-SYSTEM_MKTIME_MAX_TM_WDAY,
-SYSTEM_MKTIME_MAX_TM_YDAY,
-SYSTEM_MKTIME_MAX_TM_ISDST
-#ifdef HAS_TM_TM_GMTOFF
-,SYSTEM_MKTIME_MAX_TM_GMTOFF
-#else
-,0
-#endif
-#ifdef HAS_TM_TM_ZONE
-,SYSTEM_MKTIME_MAX_TM_ZONE
-#else
-,""
-#endif
-};
-
-const struct tm SYSTEM_MKTIME_MIN = {
-SYSTEM_MKTIME_MIN_TM_SEC,
-SYSTEM_MKTIME_MIN_TM_MIN,
-SYSTEM_MKTIME_MIN_TM_HOUR,
-SYSTEM_MKTIME_MIN_TM_MDAY,
-SYSTEM_MKTIME_MIN_TM_MON,
-SYSTEM_MKTIME_MIN_TM_YEAR,
-SYSTEM_MKTIME_MIN_TM_WDAY,
-SYSTEM_MKTIME_MIN_TM_YDAY,
-SYSTEM_MKTIME_MIN_TM_ISDST
-#ifdef HAS_TM_TM_GMTOFF
-,SYSTEM_MKTIME_MIN_TM_GMTOFF
-#else
-,0
-#endif
-#ifdef HAS_TM_TM_ZONE
-,SYSTEM_MKTIME_MIN_TM_ZONE
-#else
-,""
-#endif
-};
-
-#ifdef HAS_TIMEGM
-const struct tm SYSTEM_TIMEGM_MAX = {
-SYSTEM_TIMEGM_MAX_TM_SEC,
-SYSTEM_TIMEGM_MAX_TM_MIN,
-SYSTEM_TIMEGM_MAX_TM_HOUR,
-SYSTEM_TIMEGM_MAX_TM_MDAY,
-SYSTEM_TIMEGM_MAX_TM_MON,
-SYSTEM_TIMEGM_MAX_TM_YEAR,
-SYSTEM_TIMEGM_MAX_TM_WDAY,
-SYSTEM_TIMEGM_MAX_TM_YDAY,
-SYSTEM_TIMEGM_MAX_TM_ISDST
-#ifdef HAS_TM_TM_GMTOFF
-,SYSTEM_TIMEGM_MAX_TM_GMTOFF
-#else
-,0
-#endif
-#ifdef HAS_TM_TM_ZONE
-,SYSTEM_TIMEGM_MAX_TM_ZONE
-#else
-,""
-#endif
-};
-
-const struct tm SYSTEM_TIMEGM_MIN = {
-SYSTEM_TIMEGM_MIN_TM_SEC,
-SYSTEM_TIMEGM_MIN_TM_MIN,
-SYSTEM_TIMEGM_MIN_TM_HOUR,
-SYSTEM_TIMEGM_MIN_TM_MDAY,
-SYSTEM_TIMEGM_MIN_TM_MON,
-SYSTEM_TIMEGM_MIN_TM_YEAR,
-SYSTEM_TIMEGM_MIN_TM_WDAY,
-SYSTEM_TIMEGM_MIN_TM_YDAY,
-SYSTEM_TIMEGM_MIN_TM_ISDST
-#ifdef HAS_TM_TM_GMTOFF
-,SYSTEM_TIMEGM_MIN_TM_GMTOFF
-#else
-,0
-#endif
-#ifdef HAS_TM_TM_ZONE
-,SYSTEM_TIMEGM_MIN_TM_ZONE
-#else
-,""
-#endif
-};
-#endif /* HAS_TIMEGM */
-
/* Spec says except for stftime() and the _r() functions, these
all return static memory. Stabbings! */
@@ -154,11 +64,11 @@
{0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335},
};
-static char wday_name[7][3] = {
+static char wday_name[7][4] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
-static char mon_name[12][3] = {
+static char mon_name[12][4] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
@@ -895,6 +805,7 @@
/* Non-thread safe versions of the above */
struct TM *localtime64(const Time64_T *time) {
+ tzset();
return localtime64_r(time, &Static_Return_Date);
}
@@ -907,5 +818,6 @@
}
char *ctime64( const Time64_T* time ) {
+ tzset();
return asctime64(localtime64(time));
}
Modified: trunk/libtime-y2038-perl/y2038/time64_limits.h.in
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libtime-y2038-perl/y2038/time64_limits.h.in?rev=56924&op=diff
==============================================================================
--- trunk/libtime-y2038-perl/y2038/time64_limits.h.in (original)
+++ trunk/libtime-y2038-perl/y2038/time64_limits.h.in Mon Apr 26 03:50:53 2010
@@ -17,72 +17,80 @@
#define SYSTEM_GMTIME_MIN %%gmtime_min%%
/* Max/min for mktime() */
-#define SYSTEM_MKTIME_MAX_TM_SEC %%mktime_max_tm_sec%%
-#define SYSTEM_MKTIME_MAX_TM_MIN %%mktime_max_tm_min%%
-#define SYSTEM_MKTIME_MAX_TM_HOUR %%mktime_max_tm_hour%%
-#define SYSTEM_MKTIME_MAX_TM_MDAY %%mktime_max_tm_mday%%
-#define SYSTEM_MKTIME_MAX_TM_MON %%mktime_max_tm_mon%%
-#define SYSTEM_MKTIME_MAX_TM_YEAR %%mktime_max_tm_year%%
-#define SYSTEM_MKTIME_MAX_TM_WDAY %%mktime_max_tm_wday%%
-#define SYSTEM_MKTIME_MAX_TM_YDAY %%mktime_max_tm_yday%%
-#define SYSTEM_MKTIME_MAX_TM_ISDST %%mktime_max_tm_isdst%%
+static const struct tm SYSTEM_MKTIME_MAX = {
+ %%mktime_max_tm_sec%%,
+ %%mktime_max_tm_min%%,
+ %%mktime_max_tm_hour%%,
+ %%mktime_max_tm_mday%%,
+ %%mktime_max_tm_mon%%,
+ %%mktime_max_tm_year%%,
+ %%mktime_max_tm_wday%%,
+ %%mktime_max_tm_yday%%,
+ %%mktime_max_tm_isdst%%
+#ifdef HAS_TM_TM_GMTOFF
+ ,%%mktime_max_tm_gmtoff%%
+#endif
#ifdef HAS_TM_TM_ZONE
- #define SYSTEM_MKTIME_MAX_TM_ZONE "%%mktime_max_tm_zone%%"
+ ,"%%mktime_max_tm_zone%%"
#endif
+};
+
+static const struct tm SYSTEM_MKTIME_MIN = {
+ %%mktime_min_tm_sec%%,
+ %%mktime_min_tm_min%%,
+ %%mktime_min_tm_hour%%,
+ %%mktime_min_tm_mday%%,
+ %%mktime_min_tm_mon%%,
+ %%mktime_min_tm_year%%,
+ %%mktime_min_tm_wday%%,
+ %%mktime_min_tm_yday%%,
+ %%mktime_min_tm_isdst%%
#ifdef HAS_TM_TM_GMTOFF
- #define SYSTEM_MKTIME_MAX_TM_GMTOFF %%mktime_max_tm_gmtoff%%
+ ,%%mktime_min_tm_gmtoff%%
#endif
-
-#define SYSTEM_MKTIME_MIN_TM_SEC %%mktime_min_tm_sec%%
-#define SYSTEM_MKTIME_MIN_TM_MIN %%mktime_min_tm_min%%
-#define SYSTEM_MKTIME_MIN_TM_HOUR %%mktime_min_tm_hour%%
-#define SYSTEM_MKTIME_MIN_TM_MDAY %%mktime_min_tm_mday%%
-#define SYSTEM_MKTIME_MIN_TM_MON %%mktime_min_tm_mon%%
-#define SYSTEM_MKTIME_MIN_TM_YEAR %%mktime_min_tm_year%%
-#define SYSTEM_MKTIME_MIN_TM_WDAY %%mktime_min_tm_wday%%
-#define SYSTEM_MKTIME_MIN_TM_YDAY %%mktime_min_tm_yday%%
-#define SYSTEM_MKTIME_MIN_TM_ISDST %%mktime_min_tm_isdst%%
#ifdef HAS_TM_TM_ZONE
- #define SYSTEM_MKTIME_MIN_TM_ZONE "%%mktime_min_tm_zone%%"
+ ,"%%mktime_min_tm_zone%%"
#endif
-#ifdef HAS_TM_TM_GMTOFF
- #define SYSTEM_MKTIME_MIN_TM_GMTOFF %%mktime_min_tm_gmtoff%%
-#endif
+};
/* Max/min for timegm() */
#ifdef HAS_TIMEGM
- #define SYSTEM_TIMEGM_MAX_TM_SEC %%timegm_max_tm_sec%%
- #define SYSTEM_TIMEGM_MAX_TM_MIN %%timegm_max_tm_min%%
- #define SYSTEM_TIMEGM_MAX_TM_HOUR %%timegm_max_tm_hour%%
- #define SYSTEM_TIMEGM_MAX_TM_MDAY %%timegm_max_tm_mday%%
- #define SYSTEM_TIMEGM_MAX_TM_MON %%timegm_max_tm_mon%%
- #define SYSTEM_TIMEGM_MAX_TM_YEAR %%timegm_max_tm_year%%
- #define SYSTEM_TIMEGM_MAX_TM_WDAY %%timegm_max_tm_wday%%
- #define SYSTEM_TIMEGM_MAX_TM_YDAY %%timegm_max_tm_yday%%
- #define SYSTEM_TIMEGM_MAX_TM_ISDST %%timegm_max_tm_isdst%%
- #ifdef HAS_TM_TM_ZONE
- #define SYSTEM_TIMEGM_MAX_TM_ZONE "%%timegm_max_tm_zone%%"
- #endif
- #ifdef HAS_TM_TM_GMTOFF
- #define SYSTEM_TIMEGM_MAX_TM_GMTOFF %%timegm_max_tm_gmtoff%%
- #endif
-
- #define SYSTEM_TIMEGM_MIN_TM_SEC %%timegm_min_tm_sec%%
- #define SYSTEM_TIMEGM_MIN_TM_MIN %%timegm_min_tm_min%%
- #define SYSTEM_TIMEGM_MIN_TM_HOUR %%timegm_min_tm_hour%%
- #define SYSTEM_TIMEGM_MIN_TM_MDAY %%timegm_min_tm_mday%%
- #define SYSTEM_TIMEGM_MIN_TM_MON %%timegm_min_tm_mon%%
- #define SYSTEM_TIMEGM_MIN_TM_YEAR %%timegm_min_tm_year%%
- #define SYSTEM_TIMEGM_MIN_TM_WDAY %%timegm_min_tm_wday%%
- #define SYSTEM_TIMEGM_MIN_TM_YDAY %%timegm_min_tm_yday%%
- #define SYSTEM_TIMEGM_MIN_TM_ISDST %%timegm_min_tm_isdst%%
- #ifdef HAS_TM_TM_ZONE
- #define SYSTEM_TIMEGM_MIN_TM_ZONE "%%timegm_min_tm_zone%%"
- #endif
- #ifdef HAS_TM_TM_GMTOFF
- #define SYSTEM_TIMEGM_MIN_TM_GMTOFF %%timegm_min_tm_gmtoff%%
- #endif
+static const struct tm SYSTEM_TIMEGM_MAX = {
+ %%timegm_max_tm_sec%%,
+ %%timegm_max_tm_min%%,
+ %%timegm_max_tm_hour%%,
+ %%timegm_max_tm_mday%%,
+ %%timegm_max_tm_mon%%,
+ %%timegm_max_tm_year%%,
+ %%timegm_max_tm_wday%%,
+ %%timegm_max_tm_yday%%,
+ %%timegm_max_tm_isdst%%
+#ifdef HAS_TM_TM_GMTOFF
+ ,%%timegm_max_tm_gmtoff%%
#endif
+#ifdef HAS_TM_TM_ZONE
+ ,"%%timegm_max_tm_zone%%"
+#endif
+};
+
+static const struct tm SYSTEM_TIMEGM_MIN = {
+ %%timegm_min_tm_sec%%,
+ %%timegm_min_tm_min%%,
+ %%timegm_min_tm_hour%%,
+ %%timegm_min_tm_mday%%,
+ %%timegm_min_tm_mon%%,
+ %%timegm_min_tm_year%%,
+ %%timegm_min_tm_wday%%,
+ %%timegm_min_tm_yday%%,
+ %%timegm_min_tm_isdst%%
+#ifdef HAS_TM_TM_GMTOFF
+ ,%%timegm_min_tm_gmtoff%%
+#endif
+#ifdef HAS_TM_TM_ZONE
+ ,"%%timegm_min_tm_zone%%"
+#endif
+};
+#endif /* HAS_TIMEGM */
#endif /* TIME64_LIMITS_H */
More information about the Pkg-perl-cvs-commits
mailing list