Lines Matching refs:intern

83 static inline HashTable *spl_array_get_hash_table(spl_array_object* intern, int check_std_props TSR…  in spl_array_get_hash_table()  argument
84 if ((intern->ar_flags & SPL_ARRAY_IS_SELF) != 0) { in spl_array_get_hash_table()
85 if (!intern->std.properties) { in spl_array_get_hash_table()
86 rebuild_object_properties(&intern->std); in spl_array_get_hash_table()
88 return intern->std.properties; in spl_array_get_hash_table()
89 …se if ((intern->ar_flags & SPL_ARRAY_USE_OTHER) && (check_std_props == 0 || (intern->ar_flags & SP… in spl_array_get_hash_table()
90 …spl_array_object *other = (spl_array_object*)zend_object_store_get_object(intern->array TSRMLS_CC… in spl_array_get_hash_table()
92 …} else if ((intern->ar_flags & ((check_std_props ? SPL_ARRAY_STD_PROP_LIST : 0) | SPL_ARRAY_IS_SEL… in spl_array_get_hash_table()
93 if (!intern->std.properties) { in spl_array_get_hash_table()
94 rebuild_object_properties(&intern->std); in spl_array_get_hash_table()
96 return intern->std.properties; in spl_array_get_hash_table()
98 return HASH_OF(intern->array); in spl_array_get_hash_table()
102 static void spl_array_rewind(spl_array_object *intern TSRMLS_DC);
104 static void spl_array_update_pos(spl_array_object* intern) /* {{{ */ in spl_array_update_pos() argument
106 Bucket *pos = intern->pos; in spl_array_update_pos()
108 intern->pos_h = pos->h; in spl_array_update_pos()
112 static void spl_array_set_pos(spl_array_object* intern, HashPosition pos) /* {{{ */ in spl_array_set_pos() argument
114 intern->pos = pos; in spl_array_set_pos()
115 spl_array_update_pos(intern); in spl_array_set_pos()
118 SPL_API int spl_hash_verify_pos_ex(spl_array_object * intern, HashTable * ht TSRMLS_DC) /* {{{ */ in spl_hash_verify_pos_ex() argument
125 p = ht->arBuckets[intern->pos_h & ht->nTableMask]; in spl_hash_verify_pos_ex()
127 if (p == intern->pos) { in spl_hash_verify_pos_ex()
133 spl_array_rewind(intern TSRMLS_CC); in spl_hash_verify_pos_ex()
138 SPL_API int spl_hash_verify_pos(spl_array_object * intern TSRMLS_DC) /* {{{ */ in spl_hash_verify_pos()
140 HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_hash_verify_pos()
141 return spl_hash_verify_pos_ex(intern, ht TSRMLS_CC); in spl_hash_verify_pos()
148 spl_array_object *intern = (spl_array_object *)object; in spl_array_object_free_storage() local
150 zend_object_std_dtor(&intern->std TSRMLS_CC); in spl_array_object_free_storage()
152 zval_ptr_dtor(&intern->array); in spl_array_object_free_storage()
153 zval_ptr_dtor(&intern->retval); in spl_array_object_free_storage()
155 if (intern->debug_info != NULL) { in spl_array_object_free_storage()
156 zend_hash_destroy(intern->debug_info); in spl_array_object_free_storage()
157 efree(intern->debug_info); in spl_array_object_free_storage()
170 spl_array_object *intern; in spl_array_object_new_ex() local
175 intern = emalloc(sizeof(spl_array_object)); in spl_array_object_new_ex()
176 memset(intern, 0, sizeof(spl_array_object)); in spl_array_object_new_ex()
177 *obj = intern; in spl_array_object_new_ex()
178 ALLOC_INIT_ZVAL(intern->retval); in spl_array_object_new_ex()
180 zend_object_std_init(&intern->std, class_type TSRMLS_CC); in spl_array_object_new_ex()
181 object_properties_init(&intern->std, class_type); in spl_array_object_new_ex()
183 intern->ar_flags = 0; in spl_array_object_new_ex()
184 intern->debug_info = NULL; in spl_array_object_new_ex()
185 intern->ce_get_iterator = spl_ce_ArrayIterator; in spl_array_object_new_ex()
189 intern->ar_flags &= ~ SPL_ARRAY_CLONE_MASK; in spl_array_object_new_ex()
190 intern->ar_flags |= (other->ar_flags & SPL_ARRAY_CLONE_MASK); in spl_array_object_new_ex()
191 intern->ce_get_iterator = other->ce_get_iterator; in spl_array_object_new_ex()
193 intern->array = other->array; in spl_array_object_new_ex()
195 MAKE_STD_ZVAL(intern->array); in spl_array_object_new_ex()
196 array_init(intern->array); in spl_array_object_new_ex()
197 …zend_hash_copy(HASH_OF(intern->array), HASH_OF(other->array), (copy_ctor_func_t) zval_add_ref, &tm… in spl_array_object_new_ex()
203 intern->array = orig; in spl_array_object_new_ex()
204 Z_ADDREF_P(intern->array); in spl_array_object_new_ex()
205 intern->ar_flags |= SPL_ARRAY_IS_REF | SPL_ARRAY_USE_OTHER; in spl_array_object_new_ex()
208 MAKE_STD_ZVAL(intern->array); in spl_array_object_new_ex()
209 array_init(intern->array); in spl_array_object_new_ex()
210 intern->ar_flags &= ~SPL_ARRAY_IS_REF; in spl_array_object_new_ex()
213 …retval.handle = zend_objects_store_put(intern, (zend_objects_store_dtor_t)zend_objects_destroy_obj… in spl_array_object_new_ex()
230 …_type->function_table, "offsetget", sizeof("offsetget"), (void **) &intern->fptr_offset_get); in spl_array_object_new_ex()
231 if (intern->fptr_offset_get->common.scope == parent) { in spl_array_object_new_ex()
232 intern->fptr_offset_get = NULL; in spl_array_object_new_ex()
234 …_type->function_table, "offsetset", sizeof("offsetset"), (void **) &intern->fptr_offset_set); in spl_array_object_new_ex()
235 if (intern->fptr_offset_set->common.scope == parent) { in spl_array_object_new_ex()
236 intern->fptr_offset_set = NULL; in spl_array_object_new_ex()
238 …_type->function_table, "offsetexists", sizeof("offsetexists"), (void **) &intern->fptr_offset_has); in spl_array_object_new_ex()
239 if (intern->fptr_offset_has->common.scope == parent) { in spl_array_object_new_ex()
240 intern->fptr_offset_has = NULL; in spl_array_object_new_ex()
242 …_type->function_table, "offsetunset", sizeof("offsetunset"), (void **) &intern->fptr_offset_del); in spl_array_object_new_ex()
243 if (intern->fptr_offset_del->common.scope == parent) { in spl_array_object_new_ex()
244 intern->fptr_offset_del = NULL; in spl_array_object_new_ex()
246 …class_type->function_table, "count", sizeof("count"), (void **) &intern->fptr_count); in spl_array_object_new_ex()
247 if (intern->fptr_count->common.scope == parent) { in spl_array_object_new_ex()
248 intern->fptr_count = NULL; in spl_array_object_new_ex()
262 …if (class_type->iterator_funcs.zf_rewind->common.scope != parent) intern->ar_flags |= SPL_ARRAY_O… in spl_array_object_new_ex()
263 …if (class_type->iterator_funcs.zf_valid->common.scope != parent) intern->ar_flags |= SPL_ARRAY_O… in spl_array_object_new_ex()
264 …if (class_type->iterator_funcs.zf_key->common.scope != parent) intern->ar_flags |= SPL_ARRAY_O… in spl_array_object_new_ex()
265 …if (class_type->iterator_funcs.zf_current->common.scope != parent) intern->ar_flags |= SPL_ARRAY_O… in spl_array_object_new_ex()
266 …if (class_type->iterator_funcs.zf_next->common.scope != parent) intern->ar_flags |= SPL_ARRAY_O… in spl_array_object_new_ex()
270 spl_array_rewind(intern TSRMLS_CC); in spl_array_object_new_ex()
290 spl_array_object *intern; in spl_array_object_clone() local
293 new_obj_val = spl_array_object_new_ex(old_object->ce, &intern, zobject, 1 TSRMLS_CC); in spl_array_object_clone()
294 new_object = &intern->std; in spl_array_object_clone()
304 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_get_dimension_ptr_ptr() local
307 HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_get_dimension_ptr_ptr()
381 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_read_dimension_ex() local
382 if (intern->fptr_offset_get) { in spl_array_read_dimension_ex()
389 …zend_call_method_with_1_params(&object, Z_OBJCE_P(object), &intern->fptr_offset_get, "offsetGet", … in spl_array_read_dimension_ex()
392 zval_ptr_dtor(&intern->retval); in spl_array_read_dimension_ex()
393 MAKE_STD_ZVAL(intern->retval); in spl_array_read_dimension_ex()
394 ZVAL_ZVAL(intern->retval, rv, 1, 1); in spl_array_read_dimension_ex()
395 return intern->retval; in spl_array_read_dimension_ex()
433 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_write_dimension_ex() local
437 if (check_inherited && intern->fptr_offset_set) { in spl_array_write_dimension_ex()
443 …zend_call_method_with_2_params(&object, Z_OBJCE_P(object), &intern->fptr_offset_set, "offsetSet", … in spl_array_write_dimension_ex()
449 ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_write_dimension_ex()
460 ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_write_dimension_ex()
472 ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_write_dimension_ex()
486 ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_write_dimension_ex()
507 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_unset_dimension_ex() local
511 if (check_inherited && intern->fptr_offset_del) { in spl_array_unset_dimension_ex()
513 …zend_call_method_with_1_params(&object, Z_OBJCE_P(object), &intern->fptr_offset_del, "offsetUnset"… in spl_array_unset_dimension_ex()
520 ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_unset_dimension_ex()
533 spl_array_object *obj = intern; in spl_array_unset_dimension_ex()
571 ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_unset_dimension_ex()
584 spl_hash_verify_pos(intern TSRMLS_CC); /* call rewind on FAILURE */ in spl_array_unset_dimension_ex()
594 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_has_dimension_ex() local
598 if (check_inherited && intern->fptr_offset_has) { in spl_array_has_dimension_ex()
600 …zend_call_method_with_1_params(&object, Z_OBJCE_P(object), &intern->fptr_offset_has, "offsetExists… in spl_array_has_dimension_ex()
615 HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_has_dimension_ex()
633 HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_has_dimension_ex()
723 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_iterator_append() local
724 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_iterator_append()
731 if (Z_TYPE_P(intern->array) == IS_OBJECT) { in spl_array_iterator_append()
737 if (!intern->pos) { in spl_array_iterator_append()
738 spl_array_set_pos(intern, aht->pListTail); in spl_array_iterator_append()
773 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
776 …zend_hash_copy(HASH_OF(return_value), spl_array_get_hash_table(intern, 0 TSRMLS_CC), (copy_ctor_fu… in SPL_METHOD()
781 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_get_properties() local
784 if (intern->nApplyCount > 1) { in spl_array_get_properties()
788 intern->nApplyCount++; in spl_array_get_properties()
789 result = spl_array_get_hash_table(intern, 1 TSRMLS_CC); in spl_array_get_properties()
790 intern->nApplyCount--; in spl_array_get_properties()
796 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(obj TSRMLS_CC); in spl_array_get_debug_info() local
804 if (!intern->std.properties) { in spl_array_get_debug_info()
805 rebuild_object_properties(&intern->std); in spl_array_get_debug_info()
808 if (HASH_OF(intern->array) == intern->std.properties) { in spl_array_get_debug_info()
809 return intern->std.properties; in spl_array_get_debug_info()
811 if (intern->debug_info == NULL) { in spl_array_get_debug_info()
812 ALLOC_HASHTABLE(intern->debug_info); in spl_array_get_debug_info()
813 ZEND_INIT_SYMTABLE_EX(intern->debug_info, zend_hash_num_elements(intern->std.properties) + 1, 0); in spl_array_get_debug_info()
816 if (intern->debug_info->nApplyCount == 0) { in spl_array_get_debug_info()
817 zend_hash_clean(intern->debug_info); in spl_array_get_debug_info()
818 …zend_hash_copy(intern->debug_info, intern->std.properties, (copy_ctor_func_t) zval_add_ref, (void … in spl_array_get_debug_info()
820 storage = intern->array; in spl_array_get_debug_info()
825 zend_symtable_update(intern->debug_info, zname, name_len+1, &storage, sizeof(zval *), NULL); in spl_array_get_debug_info()
829 return intern->debug_info; in spl_array_get_debug_info()
836 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_get_gc() local
838 *gc_data = &intern->array; in spl_array_get_gc()
846 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_read_property() local
848 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_read_property()
857 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_write_property() local
859 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_write_property()
869 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_get_property_ptr_ptr() local
871 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_get_property_ptr_ptr()
880 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_has_property() local
882 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_has_property()
891 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_unset_property() local
893 if ((intern->ar_flags & SPL_ARRAY_ARRAY_AS_PROPS) != 0 in spl_array_unset_property()
896 spl_array_rewind(intern TSRMLS_CC); /* because deletion might invalidate position */ in spl_array_unset_property()
926 static int spl_array_skip_protected(spl_array_object *intern, HashTable *aht TSRMLS_DC) /* {{{ */ in spl_array_skip_protected() argument
932 if (Z_TYPE_P(intern->array) == IS_OBJECT) { in spl_array_skip_protected()
934 …if (zend_hash_get_current_key_ex(aht, &string_key, &string_length, &num_key, 0, &intern->pos) == H… in spl_array_skip_protected()
948 if (zend_hash_has_more_elements_ex(aht, &intern->pos) != SUCCESS) { in spl_array_skip_protected()
951 zend_hash_move_forward_ex(aht, &intern->pos); in spl_array_skip_protected()
952 spl_array_update_pos(intern); in spl_array_skip_protected()
958 static int spl_array_next_no_verify(spl_array_object *intern, HashTable *aht TSRMLS_DC) /* {{{ */ in spl_array_next_no_verify() argument
960 zend_hash_move_forward_ex(aht, &intern->pos); in spl_array_next_no_verify()
961 spl_array_update_pos(intern); in spl_array_next_no_verify()
962 if (Z_TYPE_P(intern->array) == IS_OBJECT) { in spl_array_next_no_verify()
963 return spl_array_skip_protected(intern, aht TSRMLS_CC); in spl_array_next_no_verify()
965 return zend_hash_has_more_elements_ex(aht, &intern->pos); in spl_array_next_no_verify()
969 static int spl_array_next_ex(spl_array_object *intern, HashTable *aht TSRMLS_DC) /* {{{ */ in spl_array_next_ex() argument
971 …if ((intern->ar_flags & SPL_ARRAY_IS_REF) && spl_hash_verify_pos_ex(intern, aht TSRMLS_CC) == FAIL… in spl_array_next_ex()
976 return spl_array_next_no_verify(intern, aht TSRMLS_CC); in spl_array_next_ex()
979 static int spl_array_next(spl_array_object *intern TSRMLS_DC) /* {{{ */ in spl_array_next()
981 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_next()
983 return spl_array_next_ex(intern, aht TSRMLS_CC); in spl_array_next()
989 zend_user_iterator intern; member
998 zval_ptr_dtor((zval**)&iterator->intern.it.data); in spl_array_it_dtor()
1080 static void spl_array_rewind_ex(spl_array_object *intern, HashTable *aht TSRMLS_DC) /* {{{ */ in spl_array_rewind_ex() argument
1083 zend_hash_internal_pointer_reset_ex(aht, &intern->pos); in spl_array_rewind_ex()
1084 spl_array_update_pos(intern); in spl_array_rewind_ex()
1085 spl_array_skip_protected(intern, aht TSRMLS_CC); in spl_array_rewind_ex()
1089 static void spl_array_rewind(spl_array_object *intern TSRMLS_DC) /* {{{ */ in spl_array_rewind()
1091 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_rewind()
1098 spl_array_rewind_ex(intern, aht TSRMLS_CC); in spl_array_rewind()
1117 static void spl_array_set_array(zval *object, spl_array_object *intern, zval **array, long ar_flags… in spl_array_set_array() argument
1124 zval_ptr_dtor(&intern->array); in spl_array_set_array()
1130 intern->array = *array; in spl_array_set_array()
1136 zval_ptr_dtor(&intern->array); in spl_array_set_array()
1137 intern->array = *array; in spl_array_set_array()
1140 intern->ar_flags |= SPL_ARRAY_IS_SELF; in spl_array_set_array()
1141 intern->ar_flags &= ~SPL_ARRAY_USE_OTHER; in spl_array_set_array()
1143 intern->ar_flags &= ~SPL_ARRAY_IS_SELF; in spl_array_set_array()
1145 intern->ar_flags |= ar_flags; in spl_array_set_array()
1146 Z_ADDREF_P(intern->array); in spl_array_set_array()
1150 || !spl_array_get_hash_table(intern, 0 TSRMLS_CC)) { in spl_array_set_array()
1151 …oaded object of type %s is not compatible with %s", Z_OBJCE_PP(array)->name, intern->std.ce->name); in spl_array_set_array()
1155 spl_array_rewind(intern TSRMLS_CC); in spl_array_set_array()
1181 iterator->intern.it.data = (void*)object; in spl_array_get_iterator()
1182 iterator->intern.it.funcs = &spl_array_it_funcs; in spl_array_get_iterator()
1183 iterator->intern.ce = ce; in spl_array_get_iterator()
1184 iterator->intern.value = NULL; in spl_array_get_iterator()
1197 spl_array_object *intern; in SPL_METHOD() local
1209 intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD()
1217 intern->ce_get_iterator = ce_get_iterator; in SPL_METHOD()
1222 spl_array_set_array(object, intern, array, ar_flags, ZEND_NUM_ARGS() == 1 TSRMLS_CC); in SPL_METHOD()
1234 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1241 intern->ce_get_iterator = ce_get_iterator; in SPL_METHOD()
1250 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1256 RETURN_STRING(intern->ce_get_iterator->name, 1); in SPL_METHOD()
1265 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1271 RETURN_LONG(intern->ar_flags & ~SPL_ARRAY_INT_MASK); in SPL_METHOD()
1280 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1287 intern->ar_flags = (intern->ar_flags & SPL_ARRAY_INT_MASK) | (ar_flags & ~SPL_ARRAY_INT_MASK); in SPL_METHOD()
1296 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1299 …zend_hash_copy(HASH_OF(return_value), spl_array_get_hash_table(intern, 0 TSRMLS_CC), (copy_ctor_fu… in SPL_METHOD()
1305 spl_array_set_array(object, intern, array, 0L, 1 TSRMLS_CC); in SPL_METHOD()
1315 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1317 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1329 …return_value->value.obj = spl_array_object_new_ex(intern->ce_get_iterator, &iterator, object, 0 TS… in SPL_METHOD()
1340 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1346 spl_array_rewind(intern TSRMLS_CC); in SPL_METHOD()
1356 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1357 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1372 spl_array_rewind(intern TSRMLS_CC); in SPL_METHOD()
1375 while (position-- > 0 && (result = spl_array_next(intern TSRMLS_CC)) == SUCCESS); in SPL_METHOD()
1377 if (result == SUCCESS && zend_hash_has_more_elements_ex(aht, &intern->pos) == SUCCESS) { in SPL_METHOD()
1384 int static spl_array_object_count_elements_helper(spl_array_object *intern, long *count TSRMLS_DC) … in spl_array_object_count_elements_helper() argument
1386 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_object_count_elements_helper()
1395 if (Z_TYPE_P(intern->array) == IS_OBJECT) { in spl_array_object_count_elements_helper()
1398 pos = intern->pos; in spl_array_object_count_elements_helper()
1400 spl_array_rewind(intern TSRMLS_CC); in spl_array_object_count_elements_helper()
1401 while(intern->pos && spl_array_next(intern TSRMLS_CC) == SUCCESS) { in spl_array_object_count_elements_helper()
1404 spl_array_set_pos(intern, pos); in spl_array_object_count_elements_helper()
1414 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_object_count_elements() local
1416 if (intern->fptr_count) { in spl_array_object_count_elements()
1418 zend_call_method_with_0_params(&object, intern->std.ce, &intern->fptr_count, "count", &rv); in spl_array_object_count_elements()
1420 zval_ptr_dtor(&intern->retval); in spl_array_object_count_elements()
1421 MAKE_STD_ZVAL(intern->retval); in spl_array_object_count_elements()
1422 ZVAL_ZVAL(intern->retval, rv, 1, 1); in spl_array_object_count_elements()
1423 convert_to_long(intern->retval); in spl_array_object_count_elements()
1424 *count = (long) Z_LVAL_P(intern->retval); in spl_array_object_count_elements()
1430 return spl_array_object_count_elements_helper(intern, count TSRMLS_CC); in spl_array_object_count_elements()
1439 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(getThis() TSRMLS_CC); in SPL_METHOD() local
1445 spl_array_object_count_elements_helper(intern, &count TSRMLS_CC); in SPL_METHOD()
1452 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(getThis() TSRMLS_CC); in spl_array_method() local
1453 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_method()
1534 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_ARRAY_METHOD() local
1536 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_ARRAY_METHOD()
1542 if (spl_array_object_verify_pos(intern, aht TSRMLS_CC) == FAILURE) { in SPL_ARRAY_METHOD()
1546 if (zend_hash_get_current_data_ex(aht, (void **) &entry, &intern->pos) == FAILURE) { in SPL_ARRAY_METHOD()
1566 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in spl_array_iterator_key() local
1567 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in spl_array_iterator_key()
1569 if (spl_array_object_verify_pos(intern, aht TSRMLS_CC) == FAILURE) { in spl_array_iterator_key()
1573 zend_hash_get_current_key_zval_ex(aht, return_value, &intern->pos); in spl_array_iterator_key()
1582 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1583 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1589 if (spl_array_object_verify_pos(intern, aht TSRMLS_CC) == FAILURE) { in SPL_METHOD()
1593 spl_array_next_no_verify(intern, aht TSRMLS_CC); in SPL_METHOD()
1602 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1603 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1609 if (spl_array_object_verify_pos(intern, aht TSRMLS_CC) == FAILURE) { in SPL_METHOD()
1612 RETURN_BOOL(zend_hash_has_more_elements_ex(aht, &intern->pos) == SUCCESS); in SPL_METHOD()
1622 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1623 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1629 if (spl_array_object_verify_pos(intern, aht TSRMLS_CC) == FAILURE) { in SPL_METHOD()
1633 if (zend_hash_get_current_data_ex(aht, (void **) &entry, &intern->pos) == FAILURE) { in SPL_METHOD()
1637 …RETURN_BOOL(Z_TYPE_PP(entry) == IS_ARRAY || (Z_TYPE_PP(entry) == IS_OBJECT && (intern->ar_flags & … in SPL_METHOD()
1646 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1647 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1653 if (spl_array_object_verify_pos(intern, aht TSRMLS_CC) == FAILURE) { in SPL_METHOD()
1657 if (zend_hash_get_current_data_ex(aht, (void **) &entry, &intern->pos) == FAILURE) { in SPL_METHOD()
1662 if ((intern->ar_flags & SPL_ARRAY_CHILD_ARRAYS_ONLY) != 0) { in SPL_METHOD()
1671 ZVAL_LONG(flags, SPL_ARRAY_USE_OTHER | intern->ar_flags); in SPL_METHOD()
1682 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(object TSRMLS_CC); in SPL_METHOD() local
1683 HashTable *aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1701 ZVAL_LONG(flags, (intern->ar_flags & SPL_ARRAY_CLONE_MASK)); in SPL_METHOD()
1708 if (!(intern->ar_flags & SPL_ARRAY_IS_SELF)) { in SPL_METHOD()
1709 php_var_serialize(&buf, &intern->array, &var_hash TSRMLS_CC); in SPL_METHOD()
1716 if (!intern->std.properties) { in SPL_METHOD()
1717 rebuild_object_properties(&intern->std); in SPL_METHOD()
1719 Z_ARRVAL(members) = intern->std.properties; in SPL_METHOD()
1739 spl_array_object *intern = (spl_array_object*)zend_object_store_get_object(getThis() TSRMLS_CC); in SPL_METHOD() local
1758 aht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); in SPL_METHOD()
1795 intern->ar_flags &= ~SPL_ARRAY_CLONE_MASK; in SPL_METHOD()
1796 intern->ar_flags |= flags & SPL_ARRAY_CLONE_MASK; in SPL_METHOD()
1797 zval_ptr_dtor(&intern->array); in SPL_METHOD()
1798 ALLOC_INIT_ZVAL(intern->array); in SPL_METHOD()
1799 if (!php_var_unserialize(&intern->array, &p, s + buf_len, &var_hash TSRMLS_CC)) { in SPL_METHOD()
1802 var_push_dtor(&var_hash, &intern->array); in SPL_METHOD()
1823 if (!intern->std.properties) { in SPL_METHOD()
1824 rebuild_object_properties(&intern->std); in SPL_METHOD()
1826 …zend_hash_copy(intern->std.properties, Z_ARRVAL_P(pmembers), (copy_ctor_func_t) zval_add_ref, (voi… in SPL_METHOD()