Skip to content

Commit b378b0b

Browse files
Irkersmalyshev
authored andcommitted
Fix DateInterval->days value when object was created not from DateTime::diff()
1 parent e22c139 commit b378b0b

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

ext/date/php_date.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3568,7 +3568,11 @@ zval *date_interval_read_property(zval *object, zval *member, int type, const ze
35683568
ALLOC_INIT_ZVAL(retval);
35693569
Z_SET_REFCOUNT_P(retval, 0);
35703570

3571-
ZVAL_LONG(retval, value);
3571+
if (value != -99999) {
3572+
ZVAL_LONG(retval, value);
3573+
} else {
3574+
ZVAL_FALSE(retval);
3575+
}
35723576

35733577
if (member == &tmp_member) {
35743578
zval_dtor(member);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
--TEST--
2+
Wrong var_dump(DateInterval->days) value
3+
--FILE--
4+
<?php
5+
6+
$interval = new DateInterval('P2Y4DT6H8M');
7+
8+
var_dump($interval->days);
9+
--EXPECT--
10+
bool(false)

0 commit comments

Comments
 (0)