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