cc_int32 ccs_list_iterator_release (ccs_list_iterator_t io_list_iterator) { cc_int32 err = ccNoError; if (!err && io_list_iterator) { cc_uint64 i = 0; if (ccs_list_find_iterator_index (io_list_iterator->list, io_list_iterator->identifier, &i) == ccNoError) { /* cci_array_remove will call ccs_list_iterator_object_release */ err = cci_array_remove (io_list_iterator->list->iterators, i); } else { cci_debug_printf ("Warning: iterator not in iterator list!"); } } return err; }
cc_int32 ccs_list_find_iterator (ccs_list_t in_list, cci_identifier_t in_identifier, ccs_list_iterator_t *out_list_iterator) { cc_int32 err = ccNoError; cc_uint64 i; if (!in_list ) { err = cci_check_error (ccErrBadParam); } if (!in_identifier ) { err = cci_check_error (ccErrBadParam); } if (!out_list_iterator) { err = cci_check_error (ccErrBadParam); } if (!err) { err = ccs_list_find_iterator_index (in_list, in_identifier, &i); } if (!err) { *out_list_iterator = cci_array_object_at_index (in_list->iterators, i); } return cci_check_error (err); }