if ((list = php_persistent_handle_list_find(provider, ident_str, ident_len TSRMLS_CC))) {
zend_hash_internal_pointer_end(&list->free);
if (HASH_KEY_NON_EXISTANT != zend_hash_get_current_key(&list->free, NULL, &index, 0) && SUCCESS == zend_hash_get_current_data(&list->free, (void *) &handle_ptr)) {
if ((list = php_persistent_handle_list_find(provider, ident_str, ident_len TSRMLS_CC))) {
zend_hash_internal_pointer_end(&list->free);
if (HASH_KEY_NON_EXISTANT != zend_hash_get_current_key(&list->free, NULL, &index, 0) && SUCCESS == zend_hash_get_current_data(&list->free, (void *) &handle_ptr)) {