aboutsummaryrefslogtreecommitdiff
path: root/lang/php8/patches/0022-Use-system-timezone.patch
diff options
context:
space:
mode:
Diffstat (limited to 'lang/php8/patches/0022-Use-system-timezone.patch')
-rw-r--r--lang/php8/patches/0022-Use-system-timezone.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/lang/php8/patches/0022-Use-system-timezone.patch b/lang/php8/patches/0022-Use-system-timezone.patch
new file mode 100644
index 000000000..d17e161be
--- /dev/null
+++ b/lang/php8/patches/0022-Use-system-timezone.patch
@@ -0,0 +1,43 @@
+From: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>
+Date: Sat, 2 May 2015 10:26:56 +0200
+Subject: Use system timezone
+
+Upstream don't want this patch. See
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730771 for a summary.
+
+This delta is recovered from previous versions of the system timezone patch in
+Debian, and appears to have inadvertently been dropped. Author unknown.
+
+To be used in tandem with use_embedded_timezonedb.patch and use_embedded_timezonedb_fixes.patch.
+---
+ ext/date/php_date.c | 17 +++++++++++++++++
+ 1 file changed, 17 insertions(+)
+
+diff --git a/ext/date/php_date.c b/ext/date/php_date.c
+index 8c0f5a6..6b650ac 100644
+--- a/ext/date/php_date.c
++++ b/ext/date/php_date.c
+@@ -538,6 +538,23 @@ static char* guess_timezone(const timelib_tzdb *tzdb)
+ DATEG(timezone_valid) = 1;
+ return DATEG(default_timezone);
+ }
++ /* Try to guess timezone from system information */
++ {
++ struct tm *ta, tmbuf;
++ time_t the_time;
++ char *tzid = NULL;
++
++ the_time = time(NULL);
++ ta = php_localtime_r(&the_time, &tmbuf);
++ if (ta) {
++ tzid = timelib_timezone_id_from_abbr(ta->tm_zone, ta->tm_gmtoff, ta->tm_isdst);
++ }
++ if (! tzid) {
++ tzid = "UTC";
++ }
++
++ return tzid;
++ }
+ /* Fallback to UTC */
+ return "UTC";
+ }