X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=libsysfs%2Fdlist.c;h=5579602bbcfe5fc45f6b7aee9bed77839a9eb7d9;hb=5e65ab9a191268fec7cddf6b7d8c0fefd2a6b920;hp=5f2c00be9be5c4697b38548d76bf3bef8dbe1757;hpb=993a633ab848487b8e546f66087595e2dc5aa4af;p=elogind.git diff --git a/libsysfs/dlist.c b/libsysfs/dlist.c index 5f2c00be9..5579602bb 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;