From dc66fb1f10518b1c4712fd4d253ab3fb61428080 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Mon, 21 Jun 2004 19:15:27 +0000 Subject: Fixed bug #28822: ArrayObject::offsetExists() works inverted --- NEWS | 1 + ext/spl/spl_array.c | 2 +- ext/spl/tests/bug28822.phpt | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100755 ext/spl/tests/bug28822.phpt diff --git a/NEWS b/NEWS index d81337c407..33389050a1 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ PHP NEWS - Fixed bug #28851 (call_user_func_array has typo in error message). (Marcus) - Fixed bug #28831 (ArrayObject::offsetGet() does the work of offsetUnset()). (Marcus) +- Fixed bug #28822 (ArrayObject::offsetExists() works inverted). (Marcus) - Fixed bug #28789 (ReflectionProperty getValue() fails on public static members). (Marcus) - Fixed bug #28771 (Segfault when using xslt and clone). (Rob) diff --git a/ext/spl/spl_array.c b/ext/spl/spl_array.c index 28a4870366..901bd35552 100755 --- a/ext/spl/spl_array.c +++ b/ext/spl/spl_array.c @@ -337,7 +337,7 @@ SPL_METHOD(Array, offsetExists) if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &index) == FAILURE) { return; } - RETURN_BOOL(spl_array_has_dimension(getThis(), index, 1 TSRMLS_CC) == SUCCESS); + RETURN_BOOL(spl_array_has_dimension(getThis(), index, 1 TSRMLS_CC)); } /* }}} */ /* {{{ proto bool ArrayObject::offsetGet(mixed $index) diff --git a/ext/spl/tests/bug28822.phpt b/ext/spl/tests/bug28822.phpt new file mode 100755 index 0000000000..c3da4607f5 --- /dev/null +++ b/ext/spl/tests/bug28822.phpt @@ -0,0 +1,16 @@ +--TEST-- +Bug #28822: ArrayObject::offsetExists() works inverted +--FILE-- +offsetSet('key', 'value'); +var_dump($array->offsetExists('key')); +var_dump($array->offsetExists('nokey')); + +?> +===DONE=== +--EXPECT-- +bool(true) +bool(false) +===DONE=== -- cgit v1.2.1