From: Marcus Boerger Date: Mon, 21 Jun 2004 19:15:27 +0000 (+0000) Subject: Fixed bug #28822: ArrayObject::offsetExists() works inverted X-Git-Tag: php-5.0.0~153 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=dc66fb1f10518b1c4712fd4d253ab3fb61428080;p=php Fixed bug #28822: ArrayObject::offsetExists() works inverted --- 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===