1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
|