diff --git a/debian/patches/use_embedded_timezonedb.patch b/debian/patches/use_embedded_timezonedb.patch index 7a4687d..ec96884 100644 --- a/debian/patches/use_embedded_timezonedb.patch +++ b/debian/patches/use_embedded_timezonedb.patch @@ -614,3 +614,29 @@ r1: initial revision + fi +fi + +--- a/ext/date/php_date.c ++++ b/ext/date/php_date.c +@@ -863,6 +863,23 @@ static char* guess_timezone(const timeli + } else if (*DATEG(default_timezone) && timelib_timezone_id_is_valid(DATEG(default_timezone), tzdb)) { + 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";