提交 7190fad3 编写于 作者: Y YuQing

add function uniq_skiplist_find_node_ex

上级 3e192fae
Version 1.45 2020-12-24
* add function uniq_skiplist_find_node_ex
Version 1.44 2020-12-06
* add test file src/tests/test_pthread_lock.c
* add uniq_skiplist.[hc]
......
......@@ -108,4 +108,3 @@ static inline int fast_buffer_append_buffer(FastBuffer *buffer, FastBuffer *src)
#endif
#endif
......@@ -531,6 +531,16 @@ int uniq_skiplist_replace_ex(UniqSkiplist *sl, void *data,
return 0;
}
UniqSkiplistNode *uniq_skiplist_find_node_ex(UniqSkiplist *sl, void *data,
UniqSkiplistNode **previous)
{
int level_index;
*previous = uniq_skiplist_get_equal_previous(sl, data, &level_index);
return (*previous != NULL) ? (UniqSkiplistNode *)
(*previous)->links[level_index] : NULL;
}
UniqSkiplistNode *uniq_skiplist_find_node(UniqSkiplist *sl, void *data)
{
int level_index;
......
......@@ -112,6 +112,10 @@ int uniq_skiplist_find_range(UniqSkiplist *sl, void *start_data,
void *end_data, UniqSkiplistIterator *iterator);
UniqSkiplistNode *uniq_skiplist_find_node(UniqSkiplist *sl, void *data);
UniqSkiplistNode *uniq_skiplist_find_node_ex(UniqSkiplist *sl, void *data,
UniqSkiplistNode **previous);
void uniq_skiplist_delete_node_ex(UniqSkiplist *sl,
UniqSkiplistNode *previous, UniqSkiplistNode *deleted,
const bool need_free);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册