summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReeze Xia <reeze@php.net>2015-12-09 11:35:39 +0800
committerReeze Xia <reeze@php.net>2015-12-09 11:40:47 +0800
commit943b23dcf6666a708c2ad4470cad5db36d47683a (patch)
treedec592fd1abd4cd3fcf577c28d0db1d7e89bbc83
parent0adbf6de774d9b1938a34b969c40ea2ac1982222 (diff)
downloadphp-git-943b23dcf6666a708c2ad4470cad5db36d47683a.tar.gz
Fixed bug #71053 (Type Hint about DateTime::diff does not match with informed)
-rw-r--r--NEWS4
-rw-r--r--ext/date/php_date.c4
-rw-r--r--ext/date/tests/bug71053.phpt13
3 files changed, 19 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index 33bd38cc55..aae08f2645 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? Jan 2016 PHP 7.0.2
+- Date:
+ . Fixed bug #71053 (Type Hint about DateTime::diff does not match with
+ informed). (Reeze Xia)
+
- Mbstring:
. Fixed bug #71066 (mb_send_mail: Program terminated with signal SIGSEGV,
Segmentation fault). (Laruence)
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 50c48eb439..b3125a9a5a 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -3579,9 +3579,9 @@ PHP_FUNCTION(date_diff)
zval *object1, *object2;
php_date_obj *dateobj1, *dateobj2;
php_interval_obj *interval;
- zend_long absolute = 0;
+ zend_bool absolute = 0;
- if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "OO|l", &object1, date_ce_interface, &object2, date_ce_interface, &absolute) == FAILURE) {
+ if (zend_parse_method_parameters(ZEND_NUM_ARGS(), getThis(), "OO|b", &object1, date_ce_interface, &object2, date_ce_interface, &absolute) == FAILURE) {
RETURN_FALSE;
}
dateobj1 = Z_PHPDATE_P(object1);
diff --git a/ext/date/tests/bug71053.phpt b/ext/date/tests/bug71053.phpt
new file mode 100644
index 0000000000..2c86f9f289
--- /dev/null
+++ b/ext/date/tests/bug71053.phpt
@@ -0,0 +1,13 @@
+--TEST--
+Bug #71053 (Type Hint about DateTime::diff does not match with informed)
+--FILE--
+<?php
+declare(strict_types=1);
+
+$date1 = new \DateTime();
+$date2 = clone $date1;
+
+var_dump(count($date1->diff($date2 , true)) > 0);
+?>
+--EXPECT--
+bool(true)