From a8dc4f0b18ea2fba0df6a627210beea0c5eda80f Mon Sep 17 00:00:00 2001 From: Alexander Moskalev Date: Wed, 10 Apr 2013 00:12:39 +0400 Subject: [PATCH 1/2] Fix DateInterval->days value when object was created not from DateTime::diff() --- ext/date/php_date.c | 6 +++++- ext/date/tests/DateInterval_days_prop1.phpt | 10 ++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 ext/date/tests/DateInterval_days_prop1.phpt diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 13e7b753d38f..ce891d96ae48 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -3470,7 +3470,11 @@ zval *date_interval_read_property(zval *object, zval *member, int type, const ze ALLOC_INIT_ZVAL(retval); Z_SET_REFCOUNT_P(retval, 0); - ZVAL_LONG(retval, value); + if (value != -99999) { + ZVAL_LONG(retval, value); + } else { + ZVAL_FALSE(retval); + } if (member == &tmp_member) { zval_dtor(member); diff --git a/ext/date/tests/DateInterval_days_prop1.phpt b/ext/date/tests/DateInterval_days_prop1.phpt new file mode 100644 index 000000000000..3907974e7b63 --- /dev/null +++ b/ext/date/tests/DateInterval_days_prop1.phpt @@ -0,0 +1,10 @@ +--TEST-- +Wrong var_dump(DateInterval->days) value +--FILE-- +days); +--EXPECT-- +bool(false) From 488318591792944148468529ab6731068354167f Mon Sep 17 00:00:00 2001 From: Alexander Moskaliov Date: Wed, 10 Apr 2013 11:06:05 +0400 Subject: [PATCH 2/2] Remove semicolon --- ext/date/tests/DateInterval_days_prop1.phpt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/date/tests/DateInterval_days_prop1.phpt b/ext/date/tests/DateInterval_days_prop1.phpt index 3907974e7b63..627b8f0b27f3 100644 --- a/ext/date/tests/DateInterval_days_prop1.phpt +++ b/ext/date/tests/DateInterval_days_prop1.phpt @@ -3,7 +3,7 @@ Wrong var_dump(DateInterval->days) value --FILE-- days); --EXPECT--