|
97 | 97 | # define ADD_ASSOC_NULL_EX(_zv, _key) add_assoc_null_ex(_zv, ZEND_STRL(_key));
|
98 | 98 | # define ADD_ASSOC_BOOL_EX(_zv, _key, _value) add_assoc_bool_ex(_zv, ZEND_STRL(_key), _value);
|
99 | 99 | # define ADD_INDEX_STRINGL(_zv, _ind, _value, _len) add_index_stringl(_zv, _ind, _value, _len);
|
| 100 | +# define ADD_NEXT_INDEX_STRINGL(_zv, _value, _len) add_next_index_stringl(_zv, _value, _len); |
100 | 101 | # define phongo_free_object_arg zend_object
|
101 | 102 | # define phongo_zpp_char_len size_t
|
102 | 103 | # define ZEND_HASH_APPLY_COUNT(ht) (ht)->u.v.nApplyCount
|
|
126 | 127 | # define ADD_ASSOC_NULL_EX(_zv, _key) add_assoc_null_ex(_zv, ZEND_STRS(_key));
|
127 | 128 | # define ADD_ASSOC_BOOL_EX(_zv, _key, _value) add_assoc_bool_ex(_zv, ZEND_STRS(_key), _value);
|
128 | 129 | # define ADD_INDEX_STRINGL(_zv, _ind, _value, _len) add_index_stringl(_zv, _ind, _value, _len, 0);
|
| 130 | +# define ADD_NEXT_INDEX_STRINGL(_zv, _value, _len) add_next_index_stringl(_zv, _value, _len, 1); |
129 | 131 | # define Z_PHPDATE_P(object) ((php_date_obj*)zend_object_store_get_object(object TSRMLS_CC))
|
130 | 132 | # define Z_ISUNDEF(x) !x
|
131 | 133 | # define phongo_free_object_arg void
|
|
143 | 145 |
|
144 | 146 | #if SIZEOF_PHONGO_LONG == 8
|
145 | 147 | # define ADD_INDEX_INT64(zval, index, value) add_index_long(zval, index, value)
|
| 148 | +# define ADD_NEXT_INDEX_INT64(zval, value) add_next_index_long(zval, value) |
146 | 149 | # define ADD_ASSOC_INT64(zval, key, value) add_assoc_long(zval, key, value)
|
147 | 150 | #elif SIZEOF_PHONGO_LONG == 4
|
148 | 151 | # define ADD_INDEX_INT64(zval, index, value) \
|
|
151 | 154 | } else { \
|
152 | 155 | add_index_long(zval, index, val); \
|
153 | 156 | }
|
| 157 | +# define ADD_NEXT_INDEX_INT64(zval, value) \ |
| 158 | + if (value > INT32_MAX || value < INT32_MIN) { \ |
| 159 | + phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT TSRMLS_CC, "Integer overflow detected on your platform: %lld", value); \ |
| 160 | + } else { \ |
| 161 | + add_next_index_long(zval, val); \ |
| 162 | + } |
154 | 163 | # define ADD_ASSOC_INT64(zval, key, value) \
|
155 | 164 | if (value > INT32_MAX || value < INT32_MIN) { \
|
156 | 165 | phongo_throw_exception(PHONGO_ERROR_INVALID_ARGUMENT TSRMLS_CC, "Integer overflow detected on your platform: %lld", value); \
|
|
0 commit comments