chiark / gitweb /
[PATCH] dev_d.c file sorting and cleanup
[elogind.git] / libsysfs / dlist.c
index a94ab1f854be6d9f784dc5b4657fd8fde0935324..942eccb48c89850a83e7806318a3803641fe68a3 100644 (file)
@@ -260,6 +260,16 @@ void dlist_unshift(Dlist *list,void *data)
   dlist_insert(list,data,0);
 }
 
+void dlist_unshift_sorted(Dlist *list, void *data, 
+                       int (*sorter)(void *new, void *old))
+{
+       if (list->count == 0)
+               dlist_unshift(list, data);
+       else {
+               list->marker=list->head->next;
+               dlist_insert_sorted(list, data, sorter);
+       }
+}
 
 /* 
  * Remove end node from list.