mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-28 06:13:31 +01:00
We have so many special cases for smartlists of strings, why not add a sort function?
svn:r5014
This commit is contained in:
parent
63bb27f19d
commit
2689cb081b
@ -419,6 +419,18 @@ smartlist_bsearch(smartlist_t *sl, const void *key,
|
||||
return r ? *r : NULL;
|
||||
}
|
||||
|
||||
static int
|
||||
_compare_string_ptrs(void **_a, void **_b)
|
||||
{
|
||||
return strcmp((char*)*_a, (char*)*_b);
|
||||
}
|
||||
|
||||
void
|
||||
smartlist_sort_strings(smartlist_t *sl)
|
||||
{
|
||||
smartlist_sort(sl, _compare_string_ptrs);
|
||||
}
|
||||
|
||||
/* Splay-tree implementation of string-to-void* map
|
||||
*/
|
||||
typedef struct strmap_entry_t {
|
||||
|
@ -52,6 +52,7 @@ void smartlist_del_keeporder(smartlist_t *sl, int idx);
|
||||
void smartlist_insert(smartlist_t *sl, int idx, void *val);
|
||||
void smartlist_sort(smartlist_t *sl,
|
||||
int (*compare)(const void **a, const void **b));
|
||||
void smartlist_sort_strings(smartlist_t *sl);
|
||||
void *smartlist_bsearch(smartlist_t *sl, const void *key,
|
||||
int (*compare)(const void *key, const void **member));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user