mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Merge branch 'PHP-8.4'
* PHP-8.4: Fix reference support for intltz_get_offset()
This commit is contained in:
commit
eeaa60f6fa
2 changed files with 29 additions and 5 deletions
26
ext/intl/tests/intltz_get_offset_references.phpt
Normal file
26
ext/intl/tests/intltz_get_offset_references.phpt
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
--TEST--
|
||||||
|
intltz_get_offset references
|
||||||
|
--EXTENSIONS--
|
||||||
|
intl
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$tz = IntlTimeZone::createTimeZone('Europe/Brussels');
|
||||||
|
|
||||||
|
class Test {
|
||||||
|
public string $a, $b;
|
||||||
|
}
|
||||||
|
$test = new Test;
|
||||||
|
$test->a = $test->b = "hello";
|
||||||
|
|
||||||
|
$rawOffset =& $test->a;
|
||||||
|
$dstOffset =& $test->b;
|
||||||
|
intltz_get_offset($tz, 0.0, true, $rawOffset, $dstOffset);
|
||||||
|
var_dump($test);
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
object(Test)#2 (2) {
|
||||||
|
["a"]=>
|
||||||
|
&string(7) "3600000"
|
||||||
|
["b"]=>
|
||||||
|
&string(1) "0"
|
||||||
|
}
|
|
@ -440,7 +440,7 @@ U_CFUNC PHP_FUNCTION(intltz_get_offset)
|
||||||
TIMEZONE_METHOD_INIT_VARS;
|
TIMEZONE_METHOD_INIT_VARS;
|
||||||
|
|
||||||
if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(),
|
if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(),
|
||||||
"Odbz/z/", &object, TimeZone_ce_ptr, &date, &local, &rawOffsetArg,
|
"Odbzz", &object, TimeZone_ce_ptr, &date, &local, &rawOffsetArg,
|
||||||
&dstOffsetArg) == FAILURE) {
|
&dstOffsetArg) == FAILURE) {
|
||||||
RETURN_THROWS();
|
RETURN_THROWS();
|
||||||
}
|
}
|
||||||
|
@ -452,10 +452,8 @@ U_CFUNC PHP_FUNCTION(intltz_get_offset)
|
||||||
|
|
||||||
INTL_METHOD_CHECK_STATUS(to, "error obtaining offset");
|
INTL_METHOD_CHECK_STATUS(to, "error obtaining offset");
|
||||||
|
|
||||||
zval_ptr_dtor(rawOffsetArg);
|
ZEND_TRY_ASSIGN_REF_LONG(rawOffsetArg, rawOffset);
|
||||||
ZVAL_LONG(rawOffsetArg, rawOffset);
|
ZEND_TRY_ASSIGN_REF_LONG(dstOffsetArg, dstOffset);
|
||||||
zval_ptr_dtor(dstOffsetArg);
|
|
||||||
ZVAL_LONG(dstOffsetArg, dstOffset);
|
|
||||||
|
|
||||||
RETURN_TRUE;
|
RETURN_TRUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue