From b73d00eae18e366231ae428aa49ea94c9af13e89 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 17:43:06 +0200 Subject: [PATCH 1/9] Voidify zend_declare_property functions --- Zend/zend_API.c | 32 +++++++++++++++----------------- Zend/zend_API.h | 16 ++++++++-------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 14075847ad1f5..51906ce03fff3 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -3745,73 +3745,71 @@ ZEND_API int zend_try_assign_typed_ref_zval_ex(zend_reference *ref, zval *zv, ze } /* }}} */ -ZEND_API int zend_declare_property_ex(zend_class_entry *ce, zend_string *name, zval *property, int access_type, zend_string *doc_comment) /* {{{ */ +ZEND_API void zend_declare_property_ex(zend_class_entry *ce, zend_string *name, zval *property, int access_type, zend_string *doc_comment) /* {{{ */ { zend_declare_typed_property(ce, name, property, access_type, doc_comment, (zend_type) ZEND_TYPE_INIT_NONE(0)); - return SUCCESS; } /* }}} */ -ZEND_API int zend_declare_property(zend_class_entry *ce, const char *name, size_t name_length, zval *property, int access_type) /* {{{ */ +ZEND_API void zend_declare_property(zend_class_entry *ce, const char *name, size_t name_length, zval *property, int access_type) /* {{{ */ { zend_string *key = zend_string_init(name, name_length, is_persistent_class(ce)); - int ret = zend_declare_property_ex(ce, key, property, access_type, NULL); + zend_declare_property_ex(ce, key, property, access_type, NULL); zend_string_release(key); - return ret; } /* }}} */ -ZEND_API int zend_declare_property_null(zend_class_entry *ce, const char *name, size_t name_length, int access_type) /* {{{ */ +ZEND_API void zend_declare_property_null(zend_class_entry *ce, const char *name, size_t name_length, int access_type) /* {{{ */ { zval property; ZVAL_NULL(&property); - return zend_declare_property(ce, name, name_length, &property, access_type); + zend_declare_property(ce, name, name_length, &property, access_type); } /* }}} */ -ZEND_API int zend_declare_property_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type) /* {{{ */ +ZEND_API void zend_declare_property_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type) /* {{{ */ { zval property; ZVAL_BOOL(&property, value); - return zend_declare_property(ce, name, name_length, &property, access_type); + zend_declare_property(ce, name, name_length, &property, access_type); } /* }}} */ -ZEND_API int zend_declare_property_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type) /* {{{ */ +ZEND_API void zend_declare_property_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type) /* {{{ */ { zval property; ZVAL_LONG(&property, value); - return zend_declare_property(ce, name, name_length, &property, access_type); + zend_declare_property(ce, name, name_length, &property, access_type); } /* }}} */ -ZEND_API int zend_declare_property_double(zend_class_entry *ce, const char *name, size_t name_length, double value, int access_type) /* {{{ */ +ZEND_API void zend_declare_property_double(zend_class_entry *ce, const char *name, size_t name_length, double value, int access_type) /* {{{ */ { zval property; ZVAL_DOUBLE(&property, value); - return zend_declare_property(ce, name, name_length, &property, access_type); + zend_declare_property(ce, name, name_length, &property, access_type); } /* }}} */ -ZEND_API int zend_declare_property_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value, int access_type) /* {{{ */ +ZEND_API void zend_declare_property_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value, int access_type) /* {{{ */ { zval property; ZVAL_NEW_STR(&property, zend_string_init(value, strlen(value), ce->type & ZEND_INTERNAL_CLASS)); - return zend_declare_property(ce, name, name_length, &property, access_type); + zend_declare_property(ce, name, name_length, &property, access_type); } /* }}} */ -ZEND_API int zend_declare_property_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_len, int access_type) /* {{{ */ +ZEND_API void zend_declare_property_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_len, int access_type) /* {{{ */ { zval property; ZVAL_NEW_STR(&property, zend_string_init(value, value_len, ce->type & ZEND_INTERNAL_CLASS)); - return zend_declare_property(ce, name, name_length, &property, access_type); + zend_declare_property(ce, name, name_length, &property, access_type); } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index ae0363f7657bc..25b53aeed24c5 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -353,14 +353,14 @@ ZEND_API int zend_get_module_started(const char *module_name); ZEND_API zend_property_info *zend_declare_typed_property(zend_class_entry *ce, zend_string *name, zval *property, int access_type, zend_string *doc_comment, zend_type type); -ZEND_API int zend_declare_property_ex(zend_class_entry *ce, zend_string *name, zval *property, int access_type, zend_string *doc_comment); -ZEND_API int zend_declare_property(zend_class_entry *ce, const char *name, size_t name_length, zval *property, int access_type); -ZEND_API int zend_declare_property_null(zend_class_entry *ce, const char *name, size_t name_length, int access_type); -ZEND_API int zend_declare_property_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type); -ZEND_API int zend_declare_property_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type); -ZEND_API int zend_declare_property_double(zend_class_entry *ce, const char *name, size_t name_length, double value, int access_type); -ZEND_API int zend_declare_property_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value, int access_type); -ZEND_API int zend_declare_property_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_len, int access_type); +ZEND_API void zend_declare_property_ex(zend_class_entry *ce, zend_string *name, zval *property, int access_type, zend_string *doc_comment); +ZEND_API void zend_declare_property(zend_class_entry *ce, const char *name, size_t name_length, zval *property, int access_type); +ZEND_API void zend_declare_property_null(zend_class_entry *ce, const char *name, size_t name_length, int access_type); +ZEND_API void zend_declare_property_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type); +ZEND_API void zend_declare_property_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value, int access_type); +ZEND_API void zend_declare_property_double(zend_class_entry *ce, const char *name, size_t name_length, double value, int access_type); +ZEND_API void zend_declare_property_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value, int access_type); +ZEND_API void zend_declare_property_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_len, int access_type); ZEND_API zend_class_constant *zend_declare_class_constant_ex(zend_class_entry *ce, zend_string *name, zval *value, int access_type, zend_string *doc_comment); ZEND_API int zend_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value); From 16d2d5ed6ca7a2d751949ca2938e63f2758f790f Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 17:45:08 +0200 Subject: [PATCH 2/9] Voidify zend_startup_modules() --- Zend/zend_API.c | 3 +-- Zend/zend_API.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 51906ce03fff3..54e1ba363ab7f 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1901,11 +1901,10 @@ ZEND_API void zend_collect_module_handlers(void) /* {{{ */ } /* }}} */ -ZEND_API int zend_startup_modules(void) /* {{{ */ +ZEND_API void zend_startup_modules(void) /* {{{ */ { zend_hash_sort_ex(&module_registry, zend_sort_modules, NULL, 0); zend_hash_apply(&module_registry, zend_startup_module_zval); - return SUCCESS; } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 25b53aeed24c5..bf95b1438424c 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -316,7 +316,7 @@ ZEND_API int zend_startup_module(zend_module_entry *module_entry); ZEND_API zend_module_entry* zend_register_internal_module(zend_module_entry *module_entry); ZEND_API zend_module_entry* zend_register_module_ex(zend_module_entry *module); ZEND_API int zend_startup_module_ex(zend_module_entry *module); -ZEND_API int zend_startup_modules(void); +ZEND_API void zend_startup_modules(void); ZEND_API void zend_collect_module_handlers(void); ZEND_API void zend_destroy_modules(void); ZEND_API void zend_check_magic_method_implementation( From 6419a6e6a8996f9338a8efa7fbb2ccd078999e82 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 17:48:32 +0200 Subject: [PATCH 3/9] Voidify zend_declare_class_constant_*() functions --- Zend/zend_API.c | 27 +++++++++++++-------------- Zend/zend_API.h | 14 +++++++------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 54e1ba363ab7f..1286b37b68522 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -3854,7 +3854,7 @@ ZEND_API zend_class_constant *zend_declare_class_constant_ex(zend_class_entry *c } /* }}} */ -ZEND_API int zend_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value) /* {{{ */ +ZEND_API void zend_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value) /* {{{ */ { zend_string *key; @@ -3865,58 +3865,57 @@ ZEND_API int zend_declare_class_constant(zend_class_entry *ce, const char *name, } zend_declare_class_constant_ex(ce, key, value, ZEND_ACC_PUBLIC, NULL); zend_string_release(key); - return SUCCESS; } /* }}} */ -ZEND_API int zend_declare_class_constant_null(zend_class_entry *ce, const char *name, size_t name_length) /* {{{ */ +ZEND_API void zend_declare_class_constant_null(zend_class_entry *ce, const char *name, size_t name_length) /* {{{ */ { zval constant; ZVAL_NULL(&constant); - return zend_declare_class_constant(ce, name, name_length, &constant); + zend_declare_class_constant(ce, name, name_length, &constant); } /* }}} */ -ZEND_API int zend_declare_class_constant_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value) /* {{{ */ +ZEND_API void zend_declare_class_constant_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value) /* {{{ */ { zval constant; ZVAL_LONG(&constant, value); - return zend_declare_class_constant(ce, name, name_length, &constant); + zend_declare_class_constant(ce, name, name_length, &constant); } /* }}} */ -ZEND_API int zend_declare_class_constant_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_bool value) /* {{{ */ +ZEND_API void zend_declare_class_constant_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_bool value) /* {{{ */ { zval constant; ZVAL_BOOL(&constant, value); - return zend_declare_class_constant(ce, name, name_length, &constant); + zend_declare_class_constant(ce, name, name_length, &constant); } /* }}} */ -ZEND_API int zend_declare_class_constant_double(zend_class_entry *ce, const char *name, size_t name_length, double value) /* {{{ */ +ZEND_API void zend_declare_class_constant_double(zend_class_entry *ce, const char *name, size_t name_length, double value) /* {{{ */ { zval constant; ZVAL_DOUBLE(&constant, value); - return zend_declare_class_constant(ce, name, name_length, &constant); + zend_declare_class_constant(ce, name, name_length, &constant); } /* }}} */ -ZEND_API int zend_declare_class_constant_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_length) /* {{{ */ +ZEND_API void zend_declare_class_constant_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_length) /* {{{ */ { zval constant; ZVAL_NEW_STR(&constant, zend_string_init(value, value_length, ce->type & ZEND_INTERNAL_CLASS)); - return zend_declare_class_constant(ce, name, name_length, &constant); + zend_declare_class_constant(ce, name, name_length, &constant); } /* }}} */ -ZEND_API int zend_declare_class_constant_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value) /* {{{ */ +ZEND_API void zend_declare_class_constant_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value) /* {{{ */ { - return zend_declare_class_constant_stringl(ce, name, name_length, value, strlen(value)); + zend_declare_class_constant_stringl(ce, name, name_length, value, strlen(value)); } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index bf95b1438424c..b9f618e219db9 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -363,13 +363,13 @@ ZEND_API void zend_declare_property_string(zend_class_entry *ce, const char *nam ZEND_API void zend_declare_property_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_len, int access_type); ZEND_API zend_class_constant *zend_declare_class_constant_ex(zend_class_entry *ce, zend_string *name, zval *value, int access_type, zend_string *doc_comment); -ZEND_API int zend_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value); -ZEND_API int zend_declare_class_constant_null(zend_class_entry *ce, const char *name, size_t name_length); -ZEND_API int zend_declare_class_constant_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value); -ZEND_API int zend_declare_class_constant_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_bool value); -ZEND_API int zend_declare_class_constant_double(zend_class_entry *ce, const char *name, size_t name_length, double value); -ZEND_API int zend_declare_class_constant_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_length); -ZEND_API int zend_declare_class_constant_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value); +ZEND_API void zend_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value); +ZEND_API void zend_declare_class_constant_null(zend_class_entry *ce, const char *name, size_t name_length); +ZEND_API void zend_declare_class_constant_long(zend_class_entry *ce, const char *name, size_t name_length, zend_long value); +ZEND_API void zend_declare_class_constant_bool(zend_class_entry *ce, const char *name, size_t name_length, zend_bool value); +ZEND_API void zend_declare_class_constant_double(zend_class_entry *ce, const char *name, size_t name_length, double value); +ZEND_API void zend_declare_class_constant_stringl(zend_class_entry *ce, const char *name, size_t name_length, const char *value, size_t value_length); +ZEND_API void zend_declare_class_constant_string(zend_class_entry *ce, const char *name, size_t name_length, const char *value); ZEND_API int zend_update_class_constants(zend_class_entry *class_type); From b070bf96730b13aba211d28a46c41f018a9b456c Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 17:51:05 +0200 Subject: [PATCH 4/9] Voidify object_init() --- Zend/zend_API.c | 3 +-- Zend/zend_API.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 1286b37b68522..f5de640777355 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1353,10 +1353,9 @@ ZEND_API int object_init_ex(zval *arg, zend_class_entry *class_type) /* {{{ */ } /* }}} */ -ZEND_API int object_init(zval *arg) /* {{{ */ +ZEND_API void object_init(zval *arg) /* {{{ */ { ZVAL_OBJ(arg, zend_objects_new(zend_standard_class_def)); - return SUCCESS; } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index b9f618e219db9..230f5f9483692 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -418,7 +418,7 @@ ZEND_API const char *zend_get_type_by_const(int type); #define array_init(arg) ZVAL_ARR((arg), zend_new_array(0)) #define array_init_size(arg, size) ZVAL_ARR((arg), zend_new_array(size)) -ZEND_API int object_init(zval *arg); +ZEND_API void object_init(zval *arg); ZEND_API int object_init_ex(zval *arg, zend_class_entry *ce); ZEND_API int object_and_properties_init(zval *arg, zend_class_entry *ce, HashTable *properties); ZEND_API void object_properties_init(zend_object *object, zend_class_entry *class_type); From 7427d966f798fe049af78aa0a507ac625d1c8d7f Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 17:52:38 +0200 Subject: [PATCH 5/9] Voidify add_assoc_*() functions --- Zend/zend_API.c | 27 +++++++++------------------ Zend/zend_API.h | 18 +++++++++--------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index f5de640777355..9363ed62fdb8c 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1359,90 +1359,81 @@ ZEND_API void object_init(zval *arg) /* {{{ */ } /* }}} */ -ZEND_API int add_assoc_long_ex(zval *arg, const char *key, size_t key_len, zend_long n) /* {{{ */ +ZEND_API void add_assoc_long_ex(zval *arg, const char *key, size_t key_len, zend_long n) /* {{{ */ { zval tmp; ZVAL_LONG(&tmp, n); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_null_ex(zval *arg, const char *key, size_t key_len) /* {{{ */ +ZEND_API void add_assoc_null_ex(zval *arg, const char *key, size_t key_len) /* {{{ */ { zval tmp; ZVAL_NULL(&tmp); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_bool_ex(zval *arg, const char *key, size_t key_len, int b) /* {{{ */ +ZEND_API void add_assoc_bool_ex(zval *arg, const char *key, size_t key_len, int b) /* {{{ */ { zval tmp; ZVAL_BOOL(&tmp, b); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r) /* {{{ */ +ZEND_API void add_assoc_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r) /* {{{ */ { zval tmp; ZVAL_RES(&tmp, r); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_double_ex(zval *arg, const char *key, size_t key_len, double d) /* {{{ */ +ZEND_API void add_assoc_double_ex(zval *arg, const char *key, size_t key_len, double d) /* {{{ */ { zval tmp; ZVAL_DOUBLE(&tmp, d); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str) /* {{{ */ +ZEND_API void add_assoc_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str) /* {{{ */ { zval tmp; ZVAL_STR(&tmp, str); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_string_ex(zval *arg, const char *key, size_t key_len, const char *str) /* {{{ */ +ZEND_API void add_assoc_string_ex(zval *arg, const char *key, size_t key_len, const char *str) /* {{{ */ { zval tmp; ZVAL_STRING(&tmp, str); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length) /* {{{ */ +ZEND_API void add_assoc_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length) /* {{{ */ { zval tmp; ZVAL_STRINGL(&tmp, str, length); zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval *value) /* {{{ */ +ZEND_API void add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval *value) /* {{{ */ { zend_symtable_str_update(Z_ARRVAL_P(arg), key, key_len, value); - return SUCCESS; } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 230f5f9483692..20ba08ac72812 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -427,15 +427,15 @@ ZEND_API void object_properties_load(zend_object *object, HashTable *properties) ZEND_API void zend_merge_properties(zval *obj, HashTable *properties); -ZEND_API int add_assoc_long_ex(zval *arg, const char *key, size_t key_len, zend_long n); -ZEND_API int add_assoc_null_ex(zval *arg, const char *key, size_t key_len); -ZEND_API int add_assoc_bool_ex(zval *arg, const char *key, size_t key_len, int b); -ZEND_API int add_assoc_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r); -ZEND_API int add_assoc_double_ex(zval *arg, const char *key, size_t key_len, double d); -ZEND_API int add_assoc_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str); -ZEND_API int add_assoc_string_ex(zval *arg, const char *key, size_t key_len, const char *str); -ZEND_API int add_assoc_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length); -ZEND_API int add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval *value); +ZEND_API void add_assoc_long_ex(zval *arg, const char *key, size_t key_len, zend_long n); +ZEND_API void add_assoc_null_ex(zval *arg, const char *key, size_t key_len); +ZEND_API void add_assoc_bool_ex(zval *arg, const char *key, size_t key_len, int b); +ZEND_API void add_assoc_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r); +ZEND_API void add_assoc_double_ex(zval *arg, const char *key, size_t key_len, double d); +ZEND_API void add_assoc_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str); +ZEND_API void add_assoc_string_ex(zval *arg, const char *key, size_t key_len, const char *str); +ZEND_API void add_assoc_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length); +ZEND_API void add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval *value); #define add_assoc_long(__arg, __key, __n) add_assoc_long_ex(__arg, __key, strlen(__key), __n) #define add_assoc_null(__arg, __key) add_assoc_null_ex(__arg, __key, strlen(__key)) From a5f1b59ab2d246623e1efa33ebda7779c5007aee Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 18:00:09 +0200 Subject: [PATCH 6/9] Voidify add_index_*() functions --- Zend/zend_API.c | 24 ++++++++---------------- Zend/zend_API.h | 16 ++++++++-------- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 9363ed62fdb8c..79ef1653f37a2 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1437,83 +1437,75 @@ ZEND_API void add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval } /* }}} */ -ZEND_API int add_index_long(zval *arg, zend_ulong index, zend_long n) /* {{{ */ +ZEND_API void add_index_long(zval *arg, zend_ulong index, zend_long n) /* {{{ */ { zval tmp; ZVAL_LONG(&tmp, n); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_index_null(zval *arg, zend_ulong index) /* {{{ */ +ZEND_API void add_index_null(zval *arg, zend_ulong index) /* {{{ */ { zval tmp; ZVAL_NULL(&tmp); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_index_bool(zval *arg, zend_ulong index, int b) /* {{{ */ +ZEND_API void add_index_bool(zval *arg, zend_ulong index, int b) /* {{{ */ { zval tmp; ZVAL_BOOL(&tmp, b); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_index_resource(zval *arg, zend_ulong index, zend_resource *r) /* {{{ */ +ZEND_API void add_index_resource(zval *arg, zend_ulong index, zend_resource *r) /* {{{ */ { zval tmp; ZVAL_RES(&tmp, r); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_index_double(zval *arg, zend_ulong index, double d) /* {{{ */ +ZEND_API void add_index_double(zval *arg, zend_ulong index, double d) /* {{{ */ { zval tmp; ZVAL_DOUBLE(&tmp, d); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_index_str(zval *arg, zend_ulong index, zend_string *str) /* {{{ */ +ZEND_API void add_index_str(zval *arg, zend_ulong index, zend_string *str) /* {{{ */ { zval tmp; ZVAL_STR(&tmp, str); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_index_string(zval *arg, zend_ulong index, const char *str) /* {{{ */ +ZEND_API void add_index_string(zval *arg, zend_ulong index, const char *str) /* {{{ */ { zval tmp; ZVAL_STRING(&tmp, str); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ -ZEND_API int add_index_stringl(zval *arg, zend_ulong index, const char *str, size_t length) /* {{{ */ +ZEND_API void add_index_stringl(zval *arg, zend_ulong index, const char *str, size_t length) /* {{{ */ { zval tmp; ZVAL_STRINGL(&tmp, str, length); zend_hash_index_update(Z_ARRVAL_P(arg), index, &tmp); - return SUCCESS; } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 20ba08ac72812..08a35a13e7161 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -447,14 +447,14 @@ ZEND_API void add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval #define add_assoc_stringl(__arg, __key, __str, __length) add_assoc_stringl_ex(__arg, __key, strlen(__key), __str, __length) #define add_assoc_zval(__arg, __key, __value) add_assoc_zval_ex(__arg, __key, strlen(__key), __value) -ZEND_API int add_index_long(zval *arg, zend_ulong index, zend_long n); -ZEND_API int add_index_null(zval *arg, zend_ulong index); -ZEND_API int add_index_bool(zval *arg, zend_ulong index, int b); -ZEND_API int add_index_resource(zval *arg, zend_ulong index, zend_resource *r); -ZEND_API int add_index_double(zval *arg, zend_ulong index, double d); -ZEND_API int add_index_str(zval *arg, zend_ulong index, zend_string *str); -ZEND_API int add_index_string(zval *arg, zend_ulong index, const char *str); -ZEND_API int add_index_stringl(zval *arg, zend_ulong index, const char *str, size_t length); +ZEND_API void add_index_long(zval *arg, zend_ulong index, zend_long n); +ZEND_API void add_index_null(zval *arg, zend_ulong index); +ZEND_API void add_index_bool(zval *arg, zend_ulong index, int b); +ZEND_API void add_index_resource(zval *arg, zend_ulong index, zend_resource *r); +ZEND_API void add_index_double(zval *arg, zend_ulong index, double d); +ZEND_API void add_index_str(zval *arg, zend_ulong index, zend_string *str); +ZEND_API void add_index_string(zval *arg, zend_ulong index, const char *str); +ZEND_API void add_index_stringl(zval *arg, zend_ulong index, const char *str, size_t length); static zend_always_inline int add_index_zval(zval *arg, zend_ulong index, zval *value) { From db0a0fc8f10a4f21a76f7d4173036c8b42ee0e5d Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 18:03:10 +0200 Subject: [PATCH 7/9] Voidify add_property_*() functions --- Zend/zend_API.c | 31 +++++++++++++------------------ Zend/zend_API.h | 18 +++++++++--------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 79ef1653f37a2..30c154ddc4880 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -1622,94 +1622,89 @@ ZEND_API int array_set_zval_key(HashTable *ht, zval *key, zval *value) /* {{{ */ } /* }}} */ -ZEND_API int add_property_long_ex(zval *arg, const char *key, size_t key_len, zend_long n) /* {{{ */ +ZEND_API void add_property_long_ex(zval *arg, const char *key, size_t key_len, zend_long n) /* {{{ */ { zval tmp; ZVAL_LONG(&tmp, n); - return add_property_zval_ex(arg, key, key_len, &tmp); + add_property_zval_ex(arg, key, key_len, &tmp); } /* }}} */ -ZEND_API int add_property_bool_ex(zval *arg, const char *key, size_t key_len, zend_long b) /* {{{ */ +ZEND_API void add_property_bool_ex(zval *arg, const char *key, size_t key_len, zend_long b) /* {{{ */ { zval tmp; ZVAL_BOOL(&tmp, b); - return add_property_zval_ex(arg, key, key_len, &tmp); + add_property_zval_ex(arg, key, key_len, &tmp); } /* }}} */ -ZEND_API int add_property_null_ex(zval *arg, const char *key, size_t key_len) /* {{{ */ +ZEND_API void add_property_null_ex(zval *arg, const char *key, size_t key_len) /* {{{ */ { zval tmp; ZVAL_NULL(&tmp); - return add_property_zval_ex(arg, key, key_len, &tmp); + add_property_zval_ex(arg, key, key_len, &tmp); } /* }}} */ -ZEND_API int add_property_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r) /* {{{ */ +ZEND_API void add_property_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r) /* {{{ */ { zval tmp; ZVAL_RES(&tmp, r); add_property_zval_ex(arg, key, key_len, &tmp); zval_ptr_dtor(&tmp); /* write_property will add 1 to refcount */ - return SUCCESS; } /* }}} */ -ZEND_API int add_property_double_ex(zval *arg, const char *key, size_t key_len, double d) /* {{{ */ +ZEND_API void add_property_double_ex(zval *arg, const char *key, size_t key_len, double d) /* {{{ */ { zval tmp; ZVAL_DOUBLE(&tmp, d); - return add_property_zval_ex(arg, key, key_len, &tmp); + add_property_zval_ex(arg, key, key_len, &tmp); } /* }}} */ -ZEND_API int add_property_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str) /* {{{ */ +ZEND_API void add_property_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str) /* {{{ */ { zval tmp; ZVAL_STR(&tmp, str); add_property_zval_ex(arg, key, key_len, &tmp); zval_ptr_dtor(&tmp); /* write_property will add 1 to refcount */ - return SUCCESS; } /* }}} */ -ZEND_API int add_property_string_ex(zval *arg, const char *key, size_t key_len, const char *str) /* {{{ */ +ZEND_API void add_property_string_ex(zval *arg, const char *key, size_t key_len, const char *str) /* {{{ */ { zval tmp; ZVAL_STRING(&tmp, str); add_property_zval_ex(arg, key, key_len, &tmp); zval_ptr_dtor(&tmp); /* write_property will add 1 to refcount */ - return SUCCESS; } /* }}} */ -ZEND_API int add_property_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length) /* {{{ */ +ZEND_API void add_property_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length) /* {{{ */ { zval tmp; ZVAL_STRINGL(&tmp, str, length); add_property_zval_ex(arg, key, key_len, &tmp); zval_ptr_dtor(&tmp); /* write_property will add 1 to refcount */ - return SUCCESS; } /* }}} */ -ZEND_API int add_property_zval_ex(zval *arg, const char *key, size_t key_len, zval *value) /* {{{ */ +ZEND_API void add_property_zval_ex(zval *arg, const char *key, size_t key_len, zval *value) /* {{{ */ { zend_string *str; str = zend_string_init(key, key_len, 0); Z_OBJ_HANDLER_P(arg, write_property)(Z_OBJ_P(arg), str, value, NULL); zend_string_release_ex(str, 0); - return SUCCESS; } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 08a35a13e7161..aa6d851d5b10f 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -477,15 +477,15 @@ static zend_always_inline int add_next_index_zval(zval *arg, zval *value) ZEND_API int array_set_zval_key(HashTable *ht, zval *key, zval *value); -ZEND_API int add_property_long_ex(zval *arg, const char *key, size_t key_len, zend_long l); -ZEND_API int add_property_null_ex(zval *arg, const char *key, size_t key_len); -ZEND_API int add_property_bool_ex(zval *arg, const char *key, size_t key_len, zend_long b); -ZEND_API int add_property_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r); -ZEND_API int add_property_double_ex(zval *arg, const char *key, size_t key_len, double d); -ZEND_API int add_property_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str); -ZEND_API int add_property_string_ex(zval *arg, const char *key, size_t key_len, const char *str); -ZEND_API int add_property_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length); -ZEND_API int add_property_zval_ex(zval *arg, const char *key, size_t key_len, zval *value); +ZEND_API void add_property_long_ex(zval *arg, const char *key, size_t key_len, zend_long l); +ZEND_API void add_property_null_ex(zval *arg, const char *key, size_t key_len); +ZEND_API void add_property_bool_ex(zval *arg, const char *key, size_t key_len, zend_long b); +ZEND_API void add_property_resource_ex(zval *arg, const char *key, size_t key_len, zend_resource *r); +ZEND_API void add_property_double_ex(zval *arg, const char *key, size_t key_len, double d); +ZEND_API void add_property_str_ex(zval *arg, const char *key, size_t key_len, zend_string *str); +ZEND_API void add_property_string_ex(zval *arg, const char *key, size_t key_len, const char *str); +ZEND_API void add_property_stringl_ex(zval *arg, const char *key, size_t key_len, const char *str, size_t length); +ZEND_API void add_property_zval_ex(zval *arg, const char *key, size_t key_len, zval *value); #define add_property_long(__arg, __key, __n) add_property_long_ex(__arg, __key, strlen(__key), __n) #define add_property_null(__arg, __key) add_property_null_ex(__arg, __key, strlen(__key)) From 775a91f837ac4e8b6d9ab221c59c8f2cb1a42876 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 18:29:07 +0200 Subject: [PATCH 8/9] Voidify zend_wrong_parameters_none_error() --- Zend/zend_API.c | 8 ++------ Zend/zend_API.h | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 30c154ddc4880..b684253b8da45 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -180,22 +180,18 @@ ZEND_API zend_string *zend_zval_get_legacy_type(const zval *arg) /* {{{ */ } /* }}} */ -ZEND_API ZEND_COLD int ZEND_FASTCALL zend_wrong_parameters_none_error(void) /* {{{ */ +ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameters_none_error(void) /* {{{ */ { int num_args = ZEND_CALL_NUM_ARGS(EG(current_execute_data)); zend_function *active_function = EG(current_execute_data)->func; const char *class_name = active_function->common.scope ? ZSTR_VAL(active_function->common.scope->name) : ""; zend_argument_count_error( - "%s%s%s() expects %s %d parameter%s, %d given", + "%s%s%s() expects exactly 0 parameters, %d given", class_name, \ class_name[0] ? "::" : "", \ ZSTR_VAL(active_function->common.function_name), - "exactly", - 0, - "s", num_args); - return FAILURE; } /* }}} */ diff --git a/Zend/zend_API.h b/Zend/zend_API.h index aa6d851d5b10f..587b7f9141771 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -1230,7 +1230,7 @@ typedef enum _zend_expected_type { Z_EXPECTED_LAST } zend_expected_type; -ZEND_API ZEND_COLD int ZEND_FASTCALL zend_wrong_parameters_none_error(void); +ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameters_none_error(void); ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameters_count_error(int min_num_args, int max_num_args); ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_type_error(int num, zend_expected_type expected_type, zval *arg); ZEND_API ZEND_COLD void ZEND_FASTCALL zend_wrong_parameter_class_error(int num, const char *name, zval *arg); From c5bfe898078824a766fed099e4c8c13c8eec3693 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Fri, 3 Jul 2020 19:10:55 +0200 Subject: [PATCH 9/9] Fix JSON extension compiler warning --- ext/json/json_parser.y | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/json/json_parser.y b/ext/json/json_parser.y index 8802d18439ddf..77df0eef6a572 100644 --- a/ext/json/json_parser.y +++ b/ext/json/json_parser.y @@ -241,10 +241,10 @@ static int php_json_parser_object_create(php_json_parser *parser, zval *object) { if (parser->scanner.options & PHP_JSON_OBJECT_AS_ARRAY) { array_init(object); - return SUCCESS; } else { - return object_init(object); + object_init(object); } + return SUCCESS; } static int php_json_parser_object_update(php_json_parser *parser, zval *object, zend_string *key, zval *zvalue)