Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
  Fix #68471: IntlDateFormatter fails for "GMT+00:00" timezone
This commit is contained in:
Christoph M. Becker 2021-06-28 13:55:26 +02:00
commit 1bf2b04b26
No known key found for this signature in database
GPG key ID: D66C9593118BCCB6
3 changed files with 22 additions and 3 deletions

1
NEWS
View file

@ -13,6 +13,7 @@ PHP NEWS
- Intl:
. Fixed bug #72809 (Locale::lookup() wrong result with canonicalize option).
(cmb)
. Fixed bug #68471 (IntlDateFormatter fails for "GMT+00:00" timezone). (cmb)
- PCRE:
. Fixed bug #81101 (PCRE2 10.37 shows unexpected result). (Anatol)

View file

@ -0,0 +1,19 @@
--TEST--
Bug #68471 (IntlDateFormatter fails for "GMT+00:00" timezone)
--SKIPIF--
<?php
if (!extension_loaded('intl')) die("sikp intl extension not available");
?>
--FILE--
<?php
$formatter = new IntlDateFormatter(
'fr_FR',
IntlDateFormatter::NONE,
IntlDateFormatter::NONE,
"GMT+00:00"
);
var_dump($formatter);
?>
--EXPECT--
object(IntlDateFormatter)#1 (0) {
}

View file

@ -175,8 +175,7 @@ U_CFUNC TimeZone *timezone_process_timezone_argument(zval *zv_timezone,
return timezone_convert_datetimezone(tzobj->type, tzobj, 0,
outside_error, func);
} else {
UnicodeString id,
gottenId;
UnicodeString id;
UErrorCode status = U_ZERO_ERROR; /* outside_error may be NULL */
if (!try_convert_to_string(zv_timezone)) {
zval_ptr_dtor_str(&local_zv_tz);
@ -203,7 +202,7 @@ U_CFUNC TimeZone *timezone_process_timezone_argument(zval *zv_timezone,
zval_ptr_dtor_str(&local_zv_tz);
return NULL;
}
if (timeZone->getID(gottenId) != id) {
if (*timeZone == TimeZone::getUnknown()) {
spprintf(&message, 0, "%s: No such time zone: '%s'",
func, Z_STRVAL_P(zv_timezone));
if (message) {