summaryrefslogtreecommitdiff
path: root/lang/perl5.6/files/patch-POSIX.xs
diff options
context:
space:
mode:
Diffstat (limited to 'lang/perl5.6/files/patch-POSIX.xs')
-rw-r--r--lang/perl5.6/files/patch-POSIX.xs19
1 files changed, 19 insertions, 0 deletions
diff --git a/lang/perl5.6/files/patch-POSIX.xs b/lang/perl5.6/files/patch-POSIX.xs
new file mode 100644
index 000000000000..7a3caa960822
--- /dev/null
+++ b/lang/perl5.6/files/patch-POSIX.xs
@@ -0,0 +1,19 @@
+--- ext/POSIX/POSIX.xs.orig Tue Feb 1 11:55:24 2005
++++ ext/POSIX/POSIX.xs Tue Feb 1 11:56:43 2005
+@@ -3860,6 +3860,16 @@
+ mytm.tm_yday = yday;
+ mytm.tm_isdst = isdst;
+ mini_mktime(&mytm);
++ /* use libc to normalize the thing -- @@@ -- FreeBSD PR 74042, perl bug 18238 */
++ {
++ struct tm mytm2;
++ time_t t;
++ mytm2 = mytm;
++ t = mktime(&mytm2);
++ mytm2 = *localtime(&t);
++ mytm.tm_gmtoff = mytm2.tm_gmtoff;
++ mytm.tm_zone = mytm2.tm_zone;
++ }
+ len = strftime(tmpbuf, sizeof tmpbuf, fmt, &mytm);
+ /*
+ ** The following is needed to handle to the situation where