summaryrefslogtreecommitdiff
path: root/ext/intl/common/common_date.cpp
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2021-02-17 17:28:22 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2021-02-17 17:30:47 +0100
commit553a0c52b12d414c83130d845968fac5841236bf (patch)
treebe22e36bc6772bb523d30bb1153fbeba8b808839 /ext/intl/common/common_date.cpp
parentcbdd21a22d67b6d6ec44ca57a8493da611f6f68e (diff)
parent84b615284218736f4fe2450a5f43ef61f2a78901 (diff)
downloadphp-git-553a0c52b12d414c83130d845968fac5841236bf.tar.gz
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4: Fix #80763: msgfmt_format() does not accept DateTime references
Diffstat (limited to 'ext/intl/common/common_date.cpp')
-rw-r--r--ext/intl/common/common_date.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/intl/common/common_date.cpp b/ext/intl/common/common_date.cpp
index d4767dc63b..5c1134aae7 100644
--- a/ext/intl/common/common_date.cpp
+++ b/ext/intl/common/common_date.cpp
@@ -173,6 +173,7 @@ U_CFUNC double intl_zval_to_millis(zval *z, intl_error *err, const char *func)
return ZEND_NAN;
}
+try_again:
switch (Z_TYPE_P(z)) {
case IS_STRING:
type = is_numeric_string(Z_STRVAL_P(z), Z_STRLEN_P(z), &lv, &rv, 0);
@@ -225,6 +226,9 @@ U_CFUNC double intl_zval_to_millis(zval *z, intl_error *err, const char *func)
efree(message);
}
break;
+ case IS_REFERENCE:
+ z = Z_REFVAL_P(z);
+ goto try_again;
default:
spprintf(&message, 0, "%s: invalid PHP type for date", func);
intl_errors_set(err, U_ILLEGAL_ARGUMENT_ERROR,