Skip to content

Commit 42cc58f

Browse files
twosenikic
authored andcommitted
Turn add_index_zval and add_next_index_zval into inline function
Avoids expression warnings and allows explicitly namespaced use in C++. Closes GH-4250.
1 parent dd10bf5 commit 42cc58f

File tree

1 file changed

+17
-13
lines changed

1 file changed

+17
-13
lines changed

Zend/zend_API.h

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -408,17 +408,19 @@ ZEND_API int add_assoc_zval_ex(zval *arg, const char *key, size_t key_len, zval
408408
#define add_assoc_stringl(__arg, __key, __str, __length) add_assoc_stringl_ex(__arg, __key, strlen(__key), __str, __length)
409409
#define add_assoc_zval(__arg, __key, __value) add_assoc_zval_ex(__arg, __key, strlen(__key), __value)
410410

411-
ZEND_API int add_index_long(zval *arg, zend_ulong idx, zend_long n);
412-
ZEND_API int add_index_null(zval *arg, zend_ulong idx);
413-
ZEND_API int add_index_bool(zval *arg, zend_ulong idx, int b);
414-
ZEND_API int add_index_resource(zval *arg, zend_ulong idx, zend_resource *r);
415-
ZEND_API int add_index_double(zval *arg, zend_ulong idx, double d);
416-
ZEND_API int add_index_str(zval *arg, zend_ulong idx, zend_string *str);
417-
ZEND_API int add_index_string(zval *arg, zend_ulong idx, const char *str);
418-
ZEND_API int add_index_stringl(zval *arg, zend_ulong idx, const char *str, size_t length);
419-
420-
#define add_index_zval(arg, index, value) \
421-
(zend_hash_index_update(Z_ARRVAL_P(arg), index, value) ? SUCCESS : FAILURE)
411+
ZEND_API int add_index_long(zval *arg, zend_ulong index, zend_long n);
412+
ZEND_API int add_index_null(zval *arg, zend_ulong index);
413+
ZEND_API int add_index_bool(zval *arg, zend_ulong index, int b);
414+
ZEND_API int add_index_resource(zval *arg, zend_ulong index, zend_resource *r);
415+
ZEND_API int add_index_double(zval *arg, zend_ulong index, double d);
416+
ZEND_API int add_index_str(zval *arg, zend_ulong index, zend_string *str);
417+
ZEND_API int add_index_string(zval *arg, zend_ulong index, const char *str);
418+
ZEND_API int add_index_stringl(zval *arg, zend_ulong index, const char *str, size_t length);
419+
420+
static zend_always_inline int add_index_zval(zval *arg, zend_ulong index, zval *value)
421+
{
422+
return zend_hash_index_update(Z_ARRVAL_P(arg), index, value) ? SUCCESS : FAILURE;
423+
}
422424

423425
ZEND_API int add_next_index_long(zval *arg, zend_long n);
424426
ZEND_API int add_next_index_null(zval *arg);
@@ -429,8 +431,10 @@ ZEND_API int add_next_index_str(zval *arg, zend_string *str);
429431
ZEND_API int add_next_index_string(zval *arg, const char *str);
430432
ZEND_API int add_next_index_stringl(zval *arg, const char *str, size_t length);
431433

432-
#define add_next_index_zval(arg, value) \
433-
(zend_hash_next_index_insert(Z_ARRVAL_P(arg), value) ? SUCCESS : FAILURE)
434+
static zend_always_inline int add_next_index_zval(zval *arg, zval *value)
435+
{
436+
return zend_hash_next_index_insert(Z_ARRVAL_P(arg), value) ? SUCCESS : FAILURE;
437+
}
434438

435439
ZEND_API int array_set_zval_key(HashTable *ht, zval *key, zval *value);
436440

0 commit comments

Comments
 (0)