X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=libsysfs%2Fdlist.c;h=c44e9d5ff592b12fe38951c7761a44a38f591888;hb=18614ab25d4208749a3d85ced33acc6679c60fce;hp=5f2c00be9be5c4697b38548d76bf3bef8dbe1757;hpb=993a633ab848487b8e546f66087595e2dc5aa4af;p=elogind.git diff --git a/libsysfs/dlist.c b/libsysfs/dlist.c index 5f2c00be9..c44e9d5ff 100644 --- a/libsysfs/dlist.c +++ b/libsysfs/dlist.c @@ -27,6 +27,7 @@ * delete function. Otherwise dlist will just use free. */ +#include "stdlib.h" #include "dlist.h" /* @@ -546,11 +547,14 @@ int _dlist_merge(struct dlist *listsource, struct dlist *listdest, unsigned int void dlist_sort_custom(struct dlist *list, int (*compare)(void *, void *)) { - dlist_start(list); struct dlist *listsource, *listdest, *swap; - struct dlist *templist = dlist_new(list->data_size); + struct dlist *templist; unsigned int passcount = 1; unsigned int mergecount = 1; + + dlist_start(list); + templist = dlist_new(list->data_size); + // do nothing if there isn't anything to sort listsource = list; listdest = templist;