Skip to content

Commit 8b8e483

Browse files
authored
Merge pull request #470 from remicollet/issue-bucket
Another fix for PACKED array on PHP 8.2
2 parents 93d6cb5 + 9ea164d commit 8b8e483

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

kernel/validation.c

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ PHP_METHOD(vtiful_validation, valueList)
433433
int index = 0;
434434
char **list = NULL;
435435

436-
Bucket *bucket;
436+
zval *data;
437437
zval *zv_value_list = NULL;
438438
validation_object *obj = NULL;
439439

@@ -465,25 +465,25 @@ PHP_METHOD(vtiful_validation, valueList)
465465

466466
zend_array *za_value_list = Z_ARR_P(zv_value_list);
467467

468-
ZEND_HASH_FOREACH_BUCKET(za_value_list, bucket)
469-
if (Z_TYPE(bucket->val) != IS_STRING) {
468+
ZEND_HASH_FOREACH_VAL(za_value_list, data) {
469+
if (Z_TYPE_P(data) != IS_STRING) {
470470
zend_throw_exception(vtiful_exception_ce, "Arrays can only consist of strings.", 300);
471471
return;
472472
}
473-
if (ZSTR_LEN(bucket->val.value.str) == 0 ) {
473+
if (Z_STRLEN_P(data) == 0 ) {
474474
zend_throw_exception(vtiful_exception_ce, "Array value is empty string.", 301);
475475
return;
476476
}
477-
ZEND_HASH_FOREACH_END();
477+
} ZEND_HASH_FOREACH_END();
478478

479479
index = 0;
480480
list = ecalloc(za_value_list->nNumOfElements + 1, sizeof(char *));
481481

482-
ZEND_HASH_FOREACH_BUCKET(za_value_list, bucket)
483-
list[index] = ecalloc(1, bucket->val.value.str->len + 1);
484-
strcpy(list[index],bucket->val.value.str->val);
482+
ZEND_HASH_FOREACH_VAL(za_value_list, data) {
483+
list[index] = ecalloc(1, Z_STRLEN_P(data) + 1);
484+
strcpy(list[index], Z_STRVAL_P(data));
485485
index++;
486-
ZEND_HASH_FOREACH_END();
486+
} ZEND_HASH_FOREACH_END();
487487

488488
list[index] = NULL;
489489

@@ -823,4 +823,4 @@ VTIFUL_STARTUP_FUNCTION(validation) {
823823

824824
return SUCCESS;
825825
}
826-
/* }}} */
826+
/* }}} */

0 commit comments

Comments
 (0)