]> git.ipfire.org Git - thirdparty/git.git/blobdiff - mergesort.h
mergesort: rename it to llist_mergesort()
[thirdparty/git.git] / mergesort.h
index d6e5f4a73268e1753c8578a7b153f7d818484078..644cff1f9640f4f3a146d7217a8deab34282ff53 100644 (file)
@@ -1,9 +1,17 @@
 #ifndef MERGESORT_H
 #define MERGESORT_H
 
-void *mergesort(void *list,
-               void *(*get_next_fn)(const void *),
-               void (*set_next_fn)(void *, void *),
-               int (*compare_fn)(const void *, const void *));
+/*
+ * Sort linked list in place.
+ * - get_next_fn() returns the next element given an element of a linked list.
+ * - set_next_fn() takes two elements A and B, and makes B the "next" element
+ *   of A on the list.
+ * - compare_fn() takes two elements A and B, and returns negative, 0, positive
+ *   as the same sign as "subtracting" B from A.
+ */
+void *llist_mergesort(void *list,
+                     void *(*get_next_fn)(const void *),
+                     void (*set_next_fn)(void *, void *),
+                     int (*compare_fn)(const void *, const void *));
 
 #endif