|
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 e780b2e..2b5a528 100644
|
|
--- a/ext/date/php_date.c
|
|
+++ b/ext/date/php_date.c
|
|
@@ -992,6 +992,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";
|
|
}
|