+ /* Sort */
+ silc_list_init_prev(list, struct foo, next, prev);
+ silc_list_add(list, f2);
+ silc_list_add(list, f7);
+ silc_list_add(list, f4);
+ silc_list_add(list, f6);
+ silc_list_add(list, f5);
+ silc_list_add(list, f1);
+ silc_list_add(list, f3);
+
+ SILC_LOG_DEBUG(("Unsorted list"));
+ silc_list_start(list);
+ while ((f = silc_list_get(list)) != SILC_LIST_END)
+ SILC_LOG_DEBUG(("entry %d, %p, next=%p, prev=%p", f->i, f, f->next,
+ f->prev));
+
+ SILC_LOG_DEBUG(("Sorting"));
+ silc_list_sort(list, compare, NULL);
+
+ SILC_LOG_DEBUG(("Sorted list"));
+ silc_list_start(list);
+ while ((f = silc_list_get(list)) != SILC_LIST_END)
+ SILC_LOG_DEBUG(("entry %d, %p, next=%p, prev=%p", f->i, f, f->next,
+ f->prev));
+