diff options
Diffstat (limited to 'community/php8-pecl-apcu/ddc5a8b86f88495aa2da1e9df2f6d187c420c3c1.patch')
-rw-r--r-- | community/php8-pecl-apcu/ddc5a8b86f88495aa2da1e9df2f6d187c420c3c1.patch | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/community/php8-pecl-apcu/ddc5a8b86f88495aa2da1e9df2f6d187c420c3c1.patch b/community/php8-pecl-apcu/ddc5a8b86f88495aa2da1e9df2f6d187c420c3c1.patch deleted file mode 100644 index 2e577657955..00000000000 --- a/community/php8-pecl-apcu/ddc5a8b86f88495aa2da1e9df2f6d187c420c3c1.patch +++ /dev/null @@ -1,184 +0,0 @@ -From ddc5a8b86f88495aa2da1e9df2f6d187c420c3c1 Mon Sep 17 00:00:00 2001 -From: Nikita Popov <nikita.ppv@gmail.com> -Date: Wed, 21 Jul 2021 14:10:49 +0200 -Subject: [PATCH] Add return types to APCUIterator - -For compatibility with tentative types added in PHP 8.1. ---- - apc_iterator.c | 10 ++++------ - apc_iterator.stub.php | 24 ++++++++--------------- - apc_iterator_arginfo.h | 20 +++++++++++-------- - apc_iterator_legacy_arginfo.h | 2 +- - tests/iterator_011.phpt | 37 +++++++++++++++++++++++++++++++++++ - 5 files changed, 62 insertions(+), 31 deletions(-) - create mode 100644 tests/iterator_011.phpt - -diff --git a/apc_iterator.c b/apc_iterator.c -index 712b59b..a268718 100644 ---- a/apc_iterator.c -+++ b/apc_iterator.c -@@ -429,7 +429,8 @@ PHP_METHOD(APCUIterator, current) { - - if (apc_stack_size(iterator->stack) == iterator->stack_idx) { - if (iterator->fetch(iterator) == 0) { -- RETURN_FALSE; -+ zend_throw_error(NULL, "Cannot call current() on invalid iterator"); -+ return; - } - } - -@@ -446,13 +447,10 @@ PHP_METHOD(APCUIterator, key) { - } - - ENSURE_INITIALIZED(iterator); -- if (apc_stack_size(iterator->stack) == 0) { -- RETURN_FALSE; -- } -- - if (apc_stack_size(iterator->stack) == iterator->stack_idx) { - if (iterator->fetch(iterator) == 0) { -- RETURN_FALSE; -+ zend_throw_error(NULL, "Cannot call key() on invalid iterator"); -+ return; - } - } - -diff --git a/apc_iterator.stub.php b/apc_iterator.stub.php -index 95b8ce3..11b981c 100644 ---- a/apc_iterator.stub.php -+++ b/apc_iterator.stub.php -@@ -13,27 +13,19 @@ public function __construct( - int $chunk_size = 0, - int $list = APC_LIST_ACTIVE); - -- /** @return void */ -- public function rewind(); -+ public function rewind(): void; - -- /** @return void */ -- public function next(); -+ public function next(): void; - -- /** @return bool */ -- public function valid(); -+ public function valid(): bool; - -- /** @return string|int|false */ -- public function key(); -+ public function key(): string|int; - -- /** @return mixed */ -- public function current(); -+ public function current(): mixed; - -- /** @return int */ -- public function getTotalHits(); -+ public function getTotalHits(): int; - -- /** @return int */ -- public function getTotalSize(); -+ public function getTotalSize(): int; - -- /** @return int */ -- public function getTotalCount(); -+ public function getTotalCount(): int; - } -diff --git a/apc_iterator_arginfo.h b/apc_iterator_arginfo.h -index 3c0ffb1..f1b8eb7 100644 ---- a/apc_iterator_arginfo.h -+++ b/apc_iterator_arginfo.h -@@ -1,5 +1,5 @@ - /* This is a generated file, edit the .stub.php file instead. -- * Stub hash: bb3222265846a53027ddd5c8da8106de9af8b0d5 */ -+ * Stub hash: e8a5a86d5bb9209117834ed0071130889e769c34 */ - - ZEND_BEGIN_ARG_INFO_EX(arginfo_class_APCUIterator___construct, 0, 0, 0) - ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, search, "null") -@@ -8,22 +8,26 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_APCUIterator___construct, 0, 0, 0) - ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, list, IS_LONG, 0, "APC_LIST_ACTIVE") - ZEND_END_ARG_INFO() - --ZEND_BEGIN_ARG_INFO_EX(arginfo_class_APCUIterator_rewind, 0, 0, 0) -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_APCUIterator_rewind, 0, 0, IS_VOID, 0) - ZEND_END_ARG_INFO() - - #define arginfo_class_APCUIterator_next arginfo_class_APCUIterator_rewind - --#define arginfo_class_APCUIterator_valid arginfo_class_APCUIterator_rewind -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_APCUIterator_valid, 0, 0, _IS_BOOL, 0) -+ZEND_END_ARG_INFO() - --#define arginfo_class_APCUIterator_key arginfo_class_APCUIterator_rewind -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_APCUIterator_key, 0, 0, MAY_BE_STRING|MAY_BE_LONG) -+ZEND_END_ARG_INFO() - --#define arginfo_class_APCUIterator_current arginfo_class_APCUIterator_rewind -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_APCUIterator_current, 0, 0, IS_MIXED, 0) -+ZEND_END_ARG_INFO() - --#define arginfo_class_APCUIterator_getTotalHits arginfo_class_APCUIterator_rewind -+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_APCUIterator_getTotalHits, 0, 0, IS_LONG, 0) -+ZEND_END_ARG_INFO() - --#define arginfo_class_APCUIterator_getTotalSize arginfo_class_APCUIterator_rewind -+#define arginfo_class_APCUIterator_getTotalSize arginfo_class_APCUIterator_getTotalHits - --#define arginfo_class_APCUIterator_getTotalCount arginfo_class_APCUIterator_rewind -+#define arginfo_class_APCUIterator_getTotalCount arginfo_class_APCUIterator_getTotalHits - - - ZEND_METHOD(APCUIterator, __construct); -diff --git a/apc_iterator_legacy_arginfo.h b/apc_iterator_legacy_arginfo.h -index 4ddb156..4dc1fd7 100644 ---- a/apc_iterator_legacy_arginfo.h -+++ b/apc_iterator_legacy_arginfo.h -@@ -1,5 +1,5 @@ - /* This is a generated file, edit the .stub.php file instead. -- * Stub hash: bb3222265846a53027ddd5c8da8106de9af8b0d5 */ -+ * Stub hash: e8a5a86d5bb9209117834ed0071130889e769c34 */ - - ZEND_BEGIN_ARG_INFO_EX(arginfo_class_APCUIterator___construct, 0, 0, 0) - ZEND_ARG_INFO(0, search) -diff --git a/tests/iterator_011.phpt b/tests/iterator_011.phpt -new file mode 100644 -index 0000000..3d2d3f2 ---- /dev/null -+++ b/tests/iterator_011.phpt -@@ -0,0 +1,37 @@ -+--TEST-- -+APCUIterator key() and current() on invalid iterator -+--SKIPIF-- -+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?> -+--INI-- -+apc.enabled=1 -+apc.enable_cli=1 -+--FILE-- -+<?php -+ -+apcu_store("key1", "value1"); -+ -+$it = new APCuIterator(null, APC_ITER_VALUE); -+var_dump($it->key()); -+var_dump($it->current()); -+$it->next(); -+ -+try { -+ var_dump($it->key()); -+} catch (Error $e) { -+ echo $e->getMessage(), "\n"; -+} -+try { -+ var_dump($it->current()); -+} catch (Error $e) { -+ echo $e->getMessage(), "\n"; -+} -+ -+?> -+--EXPECT-- -+string(4) "key1" -+array(1) { -+ ["value"]=> -+ string(6) "value1" -+} -+Cannot call key() on invalid iterator -+Cannot call current() on invalid iterator |