lib: add one check in "list_sort()"

Add one check in `list_sort()`:
Immediatly return if no any items in this list.

Signed-off-by: anlan_cs <vic.lan@pica8.com>
This commit is contained in:
anlan_cs 2022-05-12 22:14:11 -04:00
parent 026f28e8ca
commit 2f58dc31e8

View file

@ -370,10 +370,15 @@ void list_sort(struct list *list, int (*cmp)(const void **, const void **))
int i = -1; int i = -1;
void *data; void *data;
size_t n = list->count; size_t n = list->count;
void **items = XCALLOC(MTYPE_TMP, (sizeof(void *)) * n); void **items;
int (*realcmp)(const void *, const void *) = int (*realcmp)(const void *, const void *) =
(int (*)(const void *, const void *))cmp; (int (*)(const void *, const void *))cmp;
if (!n)
return;
items = XCALLOC(MTYPE_TMP, (sizeof(void *)) * n);
for (ALL_LIST_ELEMENTS(list, ln, nn, data)) { for (ALL_LIST_ELEMENTS(list, ln, nn, data)) {
items[++i] = data; items[++i] = data;
list_delete_node(list, ln); list_delete_node(list, ln);