Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=c57def3945eaa699a72d869bbc92ee37698f8adb
commit c57def3945eaa699a72d869bbc92ee37698f8adb Author: Michel Hermier <herm...@frugalware.org> Date: Sat Jun 8 17:29:12 2013 +0200 libflib: Add f_list_append. Make list addition method return void. diff --git a/lib/libflib/flist.c b/lib/libflib/flist.c index 284fde8..3877913 100644 --- a/lib/libflib/flist.c +++ b/lib/libflib/flist.c @@ -167,17 +167,22 @@ FListItem *f_list_last (FList *list) { return last != f_list_rend (list) ? last : NULL; } -int f_list_add (FList *list, FListItem *listitem) { - return f_list_append (list, listitem); +void f_list_add (FList *list, FListItem *listitem) { + f_list_append (list, listitem); } -int f_list_append (FList *list, FListItem *listitem) { - if (list == NULL || - listitem == NULL) { - return -1; +void f_list_add_sorted (FList *list, FListItem *listitem, FCompareFunc cfn, void *user_data) { + FListItem *it = f_list_begin (list), *end = f_list_end (list); + + while (it != end && + cfn (it, listitem, user_data) <= 0) { + it = it->next; } + f_listitem_insert_before (listitem, it); +} + +void f_list_append (FList *list, FListItem *listitem) { f_listitem_insert_before (listitem, f_list_end (list)); - return 0; } /* DO NOT MAKE PUBLIC FOR NOW: diff --git a/lib/libflib/flist.h b/lib/libflib/flist.h index e98c8bf..0098186 100644 --- a/lib/libflib/flist.h +++ b/lib/libflib/flist.h @@ -66,8 +66,9 @@ FListItem *f_list_rend (FList *list); FListItem *f_list_first (FList *list); FListItem *f_list_last (FList *list); -int f_list_add (FList *list, FListItem *listitem); -int f_list_append (FList *list, FListItem *listitem); +void f_list_add (FList *list, FListItem *listitem); +void f_list_add_sorted (FList *list, FListItem *listitem, FCompareFunc fn, void *user_data); +void f_list_append (FList *list, FListItem *listitem); #define f_list_entry(ptr, type, member) \ f_containerof (ptr, type, member) _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git