summaryrefslogtreecommitdiffstats
path: root/0001-Another-fix-for-PACKED-array-on-PHP-8.2.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-Another-fix-for-PACKED-array-on-PHP-8.2.patch')
-rw-r--r--0001-Another-fix-for-PACKED-array-on-PHP-8.2.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/0001-Another-fix-for-PACKED-array-on-PHP-8.2.patch b/0001-Another-fix-for-PACKED-array-on-PHP-8.2.patch
new file mode 100644
index 0000000..57df4ea
--- /dev/null
+++ b/0001-Another-fix-for-PACKED-array-on-PHP-8.2.patch
@@ -0,0 +1,66 @@
+From 9ea164d4d8fb0af74bcb8fd41266582d7469fab1 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@remirepo.net>
+Date: Wed, 1 Mar 2023 16:04:38 +0100
+Subject: [PATCH] Another fix for PACKED array on PHP 8.2
+
+---
+ kernel/validation.c | 20 ++++++++++----------
+ 1 file changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/kernel/validation.c b/kernel/validation.c
+index 8a07e76..a7c4178 100644
+--- a/kernel/validation.c
++++ b/kernel/validation.c
+@@ -433,7 +433,7 @@ PHP_METHOD(vtiful_validation, valueList)
+ int index = 0;
+ char **list = NULL;
+
+- Bucket *bucket;
++ zval *data;
+ zval *zv_value_list = NULL;
+ validation_object *obj = NULL;
+
+@@ -465,25 +465,25 @@ PHP_METHOD(vtiful_validation, valueList)
+
+ zend_array *za_value_list = Z_ARR_P(zv_value_list);
+
+- ZEND_HASH_FOREACH_BUCKET(za_value_list, bucket)
+- if (Z_TYPE(bucket->val) != IS_STRING) {
++ ZEND_HASH_FOREACH_VAL(za_value_list, data) {
++ if (Z_TYPE_P(data) != IS_STRING) {
+ zend_throw_exception(vtiful_exception_ce, "Arrays can only consist of strings.", 300);
+ return;
+ }
+- if (ZSTR_LEN(bucket->val.value.str) == 0 ) {
++ if (Z_STRLEN_P(data) == 0 ) {
+ zend_throw_exception(vtiful_exception_ce, "Array value is empty string.", 301);
+ return;
+ }
+- ZEND_HASH_FOREACH_END();
++ } ZEND_HASH_FOREACH_END();
+
+ index = 0;
+ list = ecalloc(za_value_list->nNumOfElements + 1, sizeof(char *));
+
+- ZEND_HASH_FOREACH_BUCKET(za_value_list, bucket)
+- list[index] = ecalloc(1, bucket->val.value.str->len + 1);
+- strcpy(list[index],bucket->val.value.str->val);
++ ZEND_HASH_FOREACH_VAL(za_value_list, data) {
++ list[index] = ecalloc(1, Z_STRLEN_P(data) + 1);
++ strcpy(list[index], Z_STRVAL_P(data));
+ index++;
+- ZEND_HASH_FOREACH_END();
++ } ZEND_HASH_FOREACH_END();
+
+ list[index] = NULL;
+
+@@ -823,4 +823,4 @@ VTIFUL_STARTUP_FUNCTION(validation) {
+
+ return SUCCESS;
+ }
+-/* }}} */
+\ No newline at end of file
++/* }}} */
+--
+2.39.2
+