1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Subject: Use system timezone
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=730771
Bug-Ubuntu: https://launchpad.net/bugs/1244343
Forwarded: not-needed
Acked-By: Robie Basak <robie.basak@ubuntu.com>
Last-Update: 2014-01-21
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.
---
--- php5.orig/ext/date/php_date.c
+++ php5/ext/date/php_date.c
@@ -983,6 +983,23 @@ static char* guess_timezone(const timeli
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 */
php_error_docref(NULL TSRMLS_CC, E_WARNING, DATE_TZ_ERRMSG "We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.");
return "UTC";
|