add function uniq_skiplist_find_node_ex
parent
3e192fae09
commit
7190fad3d0
3
HISTORY
3
HISTORY
|
|
@ -1,4 +1,7 @@
|
||||||
|
|
||||||
|
Version 1.45 2020-12-24
|
||||||
|
* add function uniq_skiplist_find_node_ex
|
||||||
|
|
||||||
Version 1.44 2020-12-06
|
Version 1.44 2020-12-06
|
||||||
* add test file src/tests/test_pthread_lock.c
|
* add test file src/tests/test_pthread_lock.c
|
||||||
* add uniq_skiplist.[hc]
|
* add uniq_skiplist.[hc]
|
||||||
|
|
|
||||||
|
|
@ -108,4 +108,3 @@ static inline int fast_buffer_append_buffer(FastBuffer *buffer, FastBuffer *src)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -531,6 +531,16 @@ int uniq_skiplist_replace_ex(UniqSkiplist *sl, void *data,
|
||||||
return 0;
|
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)
|
UniqSkiplistNode *uniq_skiplist_find_node(UniqSkiplist *sl, void *data)
|
||||||
{
|
{
|
||||||
int level_index;
|
int level_index;
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,10 @@ int uniq_skiplist_find_range(UniqSkiplist *sl, void *start_data,
|
||||||
void *end_data, UniqSkiplistIterator *iterator);
|
void *end_data, UniqSkiplistIterator *iterator);
|
||||||
|
|
||||||
UniqSkiplistNode *uniq_skiplist_find_node(UniqSkiplist *sl, void *data);
|
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,
|
void uniq_skiplist_delete_node_ex(UniqSkiplist *sl,
|
||||||
UniqSkiplistNode *previous, UniqSkiplistNode *deleted,
|
UniqSkiplistNode *previous, UniqSkiplistNode *deleted,
|
||||||
const bool need_free);
|
const bool need_free);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue