Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=329a64200f27d38ba649aac4e5583ed2a908afcc
commit 329a64200f27d38ba649aac4e5583ed2a908afcc Author: Michel Hermier <[email protected]> Date: Wed Jun 5 17:46:28 2013 +0200 libpacman: Rename FList to FPtrList, to free FList name for future API. diff --git a/lib/libflib/flist.c b/lib/libflib/flist.c index 8a3f51b..83526a9 100644 --- a/lib/libflib/flist.c +++ b/lib/libflib/flist.c @@ -29,19 +29,34 @@ #include "flistaccumulator.h" #include "fstdlib.h" +#if 0 +int f_list_add (FList *list, FListItem *listitem) { + return f_list_append (list, listitem); +} + +int f_list_append (FList *list, FListItem *listitem) { + if (list == NULL || + listitem == NULL) { + return -1; + } + f_listitem_insert_before (listitem, f_list_end (list)); + return 0; +} +#endif + /* DO NOT MAKE PUBLIC FOR NOW: * Require list implemantation change. */ static -void f_list_foreach_safe (FList *list, FVisitorFunc fn, void *user_data); +void f_ptrlist_foreach_safe (FPtrList *list, FVisitorFunc fn, void *user_data); static void *f_ptrcpy(const void *p) { return (void *)p; } -FListItem *f_listitem_new (void *data) { - FListItem *item = f_zalloc (sizeof(FList)); +FPtrListItem *f_ptrlistitem_new (void *data) { + FPtrListItem *item = f_zalloc (sizeof(FPtrList)); if (item != NULL) { item->data = data; @@ -50,10 +65,10 @@ FListItem *f_listitem_new (void *data) { } static -void _f_listitem_delete (FListItem *item, FVisitor *visitor) { +void _f_ptrlistitem_delete (FPtrListItem *item, FVisitor *visitor) { if (item != NULL) { f_visit (item->data, visitor); - f_listitem_remove (item); + f_ptrlistitem_remove (item); f_free (item); } } @@ -61,37 +76,37 @@ void _f_listitem_delete (FListItem *item, FVisitor *visitor) { /** * Remove the item from it's list and free it. */ -void f_listitem_delete (FListItem *item, FVisitorFunc fn, void *user_data) { +void f_ptrlistitem_delete (FPtrListItem *item, FVisitorFunc fn, void *user_data) { FVisitor visitor = { .fn = fn, .user_data = user_data }; - _f_listitem_delete (item, &visitor); + _f_ptrlistitem_delete (item, &visitor); } -void *f_listitem_get (FListItem *item) { +void *f_ptrlistitem_get (FPtrListItem *item) { return item != NULL ? item->data : NULL; } -void f_listitem_set (FListItem *item, void *data) { +void f_ptrlistitem_set (FPtrListItem *item, void *data) { if (item) { item->data = data; } } -FListItem *f_listitem_next (FListItem *item) { +FPtrListItem *f_ptrlistitem_next (FPtrListItem *item) { return item != NULL ? item->next : NULL; } -FListItem *f_listitem_previous (FListItem *item) { +FPtrListItem *f_ptrlistitem_previous (FPtrListItem *item) { return item != NULL ? item->prev : NULL; } /** * Remove an @item from the list it belongs. */ -void f_listitem_remove (FListItem *item) { +void f_ptrlistitem_remove (FPtrListItem *item) { if (item != NULL) { if (item->prev != NULL) { item->prev->next = item->next; @@ -104,28 +119,28 @@ void f_listitem_remove (FListItem *item) { } } -FList *f_list_new () { +FPtrList *f_ptrlist_new () { return NULL; } -void f_list_delete (FList *list, FVisitorFunc fn, void *user_data) { +void f_ptrlist_delete (FPtrList *list, FVisitorFunc fn, void *user_data) { FVisitor visitor = { .fn = fn, .user_data = user_data }; - f_list_foreach_safe (list, (FVisitorFunc)_f_listitem_delete, &visitor); + f_ptrlist_foreach_safe (list, (FVisitorFunc)_f_ptrlistitem_delete, &visitor); } -void f_list_init (FList *list) { +void f_ptrlist_init (FPtrList *list) { list->prev = list->next = list; } /** * Insert a @list after @item. */ -void f_list_insert_after (FList *item, FList *list) { - FList *last = f_list_last (list); +void f_ptrlist_insert_after (FPtrList *item, FPtrList *list) { + FPtrList *last = f_ptrlist_last (list); assert (item != NULL); if (list == NULL) { @@ -142,8 +157,8 @@ void f_list_insert_after (FList *item, FList *list) { /** * Insert a @list before @item. */ -void f_list_insert_before (FList *item, FList *list) { - FList *last = f_list_last (list); +void f_ptrlist_insert_before (FPtrList *item, FPtrList *list) { + FPtrList *last = f_ptrlist_last (list); assert (item != NULL); if (list == NULL) { @@ -157,15 +172,15 @@ void f_list_insert_before (FList *item, FList *list) { item->prev = last; } -FListItem *f_list_begin (FList *list) { +FPtrListItem *f_ptrlist_begin (FPtrList *list) { return list; } -FListItem *f_list_end (FList *list) { +FPtrListItem *f_ptrlist_end (FPtrList *list) { return NULL; } -FListItem *f_list_rbegin (FList *list) { +FPtrListItem *f_ptrlist_rbegin (FPtrList *list) { if (list != NULL) { for (; list->next != NULL; list = list->next) /* Do nothing */; @@ -173,29 +188,25 @@ FListItem *f_list_rbegin (FList *list) { return list; } -FListItem *f_list_rend (FList *list) { +FPtrListItem *f_ptrlist_rend (FPtrList *list) { return NULL; } -FListItem *f_list_first (FList *list) { - return f_list_begin (list); +FPtrListItem *f_ptrlist_first (FPtrList *list) { + return f_ptrlist_begin (list); } -FListItem *f_list_last (FList *list) { - return f_list_rbegin (list); -} - -int f_list_add (FList *list, FListItem *ptr) { - return f_list_append (list, ptr); +FPtrListItem *f_ptrlist_last (FPtrList *list) { + return f_ptrlist_rbegin (list); } /* Add items to a list in sorted order. Use the given comparison function to * determine order. */ -FList *f_list_add_sorted (FList *list, void *data, FCompareFunc fn, void *user_data) { - FList *add = f_listitem_new (data); - FList *prev = NULL; - FList *iter = list; +FPtrList *f_ptrlist_add_sorted (FPtrList *list, void *data, FCompareFunc fn, void *user_data) { + FPtrList *add = f_ptrlistitem_new (data); + FPtrList *prev = NULL; + FPtrList *iter = list; /* Find insertion point. */ while (iter) { @@ -221,40 +232,31 @@ FList *f_list_add_sorted (FList *list, void *data, FCompareFunc fn, void *user_d return(list); } -int f_list_append (FList *list, FListItem *listitem) { - if (list == NULL || - listitem == NULL) { - return -1; - } - f_list_insert_before (f_list_end (list), listitem); - return 0; -} - -FList *_f_list_append (FList *list, void *ptr) { - return f_list_concat (list, f_listitem_new (ptr)); +FPtrList *f_ptrlist_append (FPtrList *list, void *ptr) { + return f_ptrlist_concat (list, f_ptrlistitem_new (ptr)); } -FList *_f_list_append_unique (FList *list, void *ptr, FCompareFunc fn, void *user_data) { - if (_f_list_find_custom (list, ptr, fn, user_data) == NULL) { - return _f_list_append (list, ptr); +FPtrList *f_ptrlist_append_unique (FPtrList *list, void *ptr, FCompareFunc fn, void *user_data) { + if (f_ptrlist_find_custom (list, ptr, fn, user_data) == NULL) { + return f_ptrlist_append (list, ptr); } return list; } -FList *f_list_concat (FList *list1, FList *list2) { +FPtrList *f_ptrlist_concat (FPtrList *list1, FPtrList *list2) { if (list1 == NULL) { return list2; } - f_list_insert_after (f_list_last (list1), list2); + f_ptrlist_insert_after (f_ptrlist_last (list1), list2); return list1; } -FList *f_list_copy (FList *list) { - return f_list_deep_copy (list, (FCopyFunc)f_ptrcpy, NULL); +FPtrList *f_ptrlist_copy (FPtrList *list) { + return f_ptrlist_deep_copy (list, (FCopyFunc)f_ptrcpy, NULL); } -size_t f_list_count (FList *list) { - FListItem *it = f_list_begin (list), *end = f_list_end (list); +size_t f_ptrlist_count (FPtrList *list) { + FPtrListItem *it = f_ptrlist_begin (list), *end = f_ptrlist_end (list); size_t count = 0; for (; it != end; it = it->next, ++count) @@ -262,27 +264,27 @@ size_t f_list_count (FList *list) { return count; } -FList *f_list_deep_copy (FList *list, FCopyFunc fn, void *user_data) { - FListItem *it = f_list_begin (list), *end = f_list_end (list); - FListAccumulator listaccumulator; +FPtrList *f_ptrlist_deep_copy (FPtrList *list, FCopyFunc fn, void *user_data) { + FPtrListItem *it = f_ptrlist_begin (list), *end = f_ptrlist_end (list); + FPtrListAccumulator listaccumulator; - f_listaccumulator_init (&listaccumulator, f_list_new ()); + f_ptrlistaccumulator_init (&listaccumulator, f_ptrlist_new ()); for (; it != end; it = it->next) { - f_listaccumulate (fn (it->data, user_data), &listaccumulator); + f_ptrlistaccumulate (fn (it->data, user_data), &listaccumulator); } - return f_listaccumulator_fini (&listaccumulator); + return f_ptrlistaccumulator_fini (&listaccumulator); } -void f_list_detach (FList *list, FCopyFunc fn, void *user_data) { - FListItem *it = f_list_begin (list), *end = f_list_end (list); +void f_ptrlist_detach (FPtrList *list, FCopyFunc fn, void *user_data) { + FPtrListItem *it = f_ptrlist_begin (list), *end = f_ptrlist_end (list); for (; it != end; it = it->next) { it->data = fn (it->data, user_data); } } -FListItem *f_list_detect (FList *list, FDetectFunc dfn, void *user_data) { - FListItem *it = f_list_begin (list), *end = f_list_end (list); +FPtrListItem *f_ptrlist_detect (FPtrList *list, FDetectFunc dfn, void *user_data) { + FPtrListItem *it = f_ptrlist_begin (list), *end = f_ptrlist_end (list); for (; it != end; it = it->next) { if (dfn (it->data, user_data) == 0) { @@ -292,30 +294,30 @@ FListItem *f_list_detect (FList *list, FDetectFunc dfn, void *user_data) { return it; } -void _f_list_exclude (FList **list, FList **excludelist, FDetectFunc dfn, void *user_data) { - FListAccumulator listaccumulator; - FList *item, *next = *list; +void _f_ptrlist_exclude (FPtrList **list, FPtrList **excludelist, FDetectFunc dfn, void *user_data) { + FPtrListAccumulator listaccumulator; + FPtrList *item, *next = *list; - f_listaccumulator_init (&listaccumulator, *excludelist); - while ((item = f_list_detect (next, dfn, user_data)) != NULL) { + f_ptrlistaccumulator_init (&listaccumulator, *excludelist); + while ((item = f_ptrlist_detect (next, dfn, user_data)) != NULL) { next = item->next; if (*list == item) { *list = (*list)->next; } - f_listitem_remove (item); - f_listaccumulate (item, &listaccumulator); + f_ptrlistitem_remove (item); + f_ptrlistaccumulate (item, &listaccumulator); } - *excludelist = f_listaccumulator_fini (&listaccumulator); + *excludelist = f_ptrlistaccumulator_fini (&listaccumulator); } -FList *f_list_filter (FList *list, FDetectFunc dfn, void *user_data) { - FListAccumulator listaccumulator; +FPtrList *f_ptrlist_filter (FPtrList *list, FDetectFunc dfn, void *user_data) { + FPtrListAccumulator listaccumulator; FDetector detector = { .fn = dfn, .user_data = user_data }; FVisitor visitor = { - .fn = (FVisitorFunc)f_listaccumulate, + .fn = (FVisitorFunc)f_ptrlistaccumulate, .user_data = &listaccumulator }; FDetectVisitor detectvisitor = { @@ -324,27 +326,27 @@ FList *f_list_filter (FList *list, FDetectFunc dfn, void *user_data) { .fail = NULL }; - f_listaccumulator_init (&listaccumulator, f_list_new ()); - f_list_foreach (list, (FVisitorFunc)f_detectvisit, &detectvisitor); - return f_listaccumulator_fini (&listaccumulator); + f_ptrlistaccumulator_init (&listaccumulator, f_ptrlist_new ()); + f_ptrlist_foreach (list, (FVisitorFunc)f_detectvisit, &detectvisitor); + return f_ptrlistaccumulator_fini (&listaccumulator); } -FListItem *_f_list_find (FList *list, const void *data) { - return _f_list_find_custom (list, data, (FCompareFunc)f_ptrcmp, NULL); +FPtrListItem *f_ptrlist_find (FPtrList *list, const void *data) { + return f_ptrlist_find_custom (list, data, (FCompareFunc)f_ptrcmp, NULL); } -FListItem *_f_list_find_custom (FList *list, const void *data, FCompareFunc cfn, void *user_data) { +FPtrListItem *f_ptrlist_find_custom (FPtrList *list, const void *data, FCompareFunc cfn, void *user_data) { FCompareDetector comparedetector = { .fn = cfn, .ptr = data, .user_data = user_data }; - return f_list_detect (list, (FDetectFunc)f_comparedetect, &comparedetector); + return f_ptrlist_detect (list, (FDetectFunc)f_comparedetect, &comparedetector); } -void f_list_foreach (FList *list, FVisitorFunc fn, void *user_data) { - FListItem *it = f_list_begin (list), *end = f_list_end (list); +void f_ptrlist_foreach (FPtrList *list, FVisitorFunc fn, void *user_data) { + FPtrListItem *it = f_ptrlist_begin (list), *end = f_ptrlist_end (list); for (; it != end; it = it->next) { fn (it->data, user_data); @@ -354,10 +356,10 @@ void f_list_foreach (FList *list, FVisitorFunc fn, void *user_data) { /** * A foreach safe in the sence you can detach the current element. * - * Differs from foreach since it pass an FListItem instead of data. + * Differs from foreach since it pass an FPtrListItem instead of data. */ -void f_list_foreach_safe (FList *list, FVisitorFunc fn, void *user_data) { - FListItem *it, *next = f_list_begin (list), *end = f_list_end (list); +void f_ptrlist_foreach_safe (FPtrList *list, FVisitorFunc fn, void *user_data) { + FPtrListItem *it, *next = f_ptrlist_begin (list), *end = f_ptrlist_end (list); for (it = next; it != end; it = next) { next = it->next; @@ -369,37 +371,37 @@ void f_list_foreach_safe (FList *list, FVisitorFunc fn, void *user_data) { * * The caller is responsible for freeing the old list */ -FList *f_list_reverse (FList *list) { - FListAccumulator listaccumulator; +FPtrList *f_ptrlist_reverse (FPtrList *list) { + FPtrListAccumulator listaccumulator; - f_listaccumulator_init (&listaccumulator, f_list_new ()); - f_list_foreach (list, (FVisitorFunc)f_listreverseaccumulate, &listaccumulator); - return f_listaccumulator_fini (&listaccumulator); + f_ptrlistaccumulator_init (&listaccumulator, f_ptrlist_new ()); + f_ptrlist_foreach (list, (FVisitorFunc)f_ptrlistreverseaccumulate, &listaccumulator); + return f_ptrlistaccumulator_fini (&listaccumulator); } -void f_list_reverse_foreach (FList *list, FVisitorFunc fn, void *user_data) { - FListItem *it = f_list_rbegin (list), *end = f_list_rend (list); +void f_ptrlist_reverse_foreach (FPtrList *list, FVisitorFunc fn, void *user_data) { + FPtrListItem *it = f_ptrlist_rbegin (list), *end = f_ptrlist_rend (list); for (; it != end; it = it->prev) { fn (it->data, user_data); } } -FList *f_list_uniques (FList *list, FCompareFunc fn, void *user_data) { - FListItem *it = f_list_begin (list), *end = f_list_end (list); - FList *uniques = f_list_new (); +FPtrList *f_ptrlist_uniques (FPtrList *list, FCompareFunc fn, void *user_data) { + FPtrListItem *it = f_ptrlist_begin (list), *end = f_ptrlist_end (list); + FPtrList *uniques = f_ptrlist_new (); for (; it != end; it = it->next) { - uniques = _f_list_append_unique (uniques, it->data, fn, user_data); + uniques = f_ptrlist_append_unique (uniques, it->data, fn, user_data); } return uniques; } -void _f_list_remove (FList **list, FListItem *item) { +void _f_ptrlist_remove (FPtrList **list, FPtrListItem *item) { if (*list == item) { *list = item->next; } - f_listitem_remove (item); + f_ptrlistitem_remove (item); } /* Remove an item in a list. Use the given comparison function to find the @@ -408,8 +410,8 @@ void _f_list_remove (FList **list, FListItem *item) { * Otherwise, it is set to NULL. * Return the new list (without the removed element). */ -FList *f_list_remove_find_custom (FList *haystack, void *needle, FCompareFunc fn, void **data) { - FList *i = haystack; +FPtrList *f_ptrlist_remove_find_custom (FPtrList *haystack, void *needle, FCompareFunc fn, void **data) { + FPtrList *i = haystack; if(data) { *data = NULL; diff --git a/lib/libflib/flist.h b/lib/libflib/flist.h index 47e24d5..b53aecf 100644 --- a/lib/libflib/flist.h +++ b/lib/libflib/flist.h @@ -26,73 +26,93 @@ #include <fcallbacks.h> -/* FIXME: Make it a struct FListItem */ -typedef struct FList FListItem; +typedef struct FListItem FListItem; -FListItem *f_listitem_new (void *data); -void f_listitem_delete (FListItem *item, FVisitorFunc fn, void *user_data); - -void *f_listitem_get (FListItem *item); -void f_listitem_set (FListItem *item, void *data); - -FListItem *f_listitem_next (FListItem *item); -FListItem *f_listitem_previous (FListItem *item); -void f_listitem_remove (FListItem *item); +struct FListItem { + FListItem *next; + FListItem *previous; +}; typedef struct FList FList; -/* FIXME: Make private as soon as possible */ -/* Chained list struct */ struct FList { - FList *prev; - FList *next; - void *data; + FListItem head; }; -FList *f_list_new (void); -void f_list_delete (FList *list, FVisitorFunc fn, void *user_data); -void f_list_init (FList *list); +#if 0 +int f_list_add (FList *list, FListItem *listitem); +int f_list_append (FList *list, FListItem *listitem); +#endif + +typedef struct FPtrListItem FPtrListItem; + +struct FPtrListItem { + union { + FListItem base; + struct { /* For compatibility */ + FPtrListItem *next; + FPtrListItem *prev; + }; + }; + void *data; +}; -void f_list_insert_after (FList *item, FList *list); -void f_list_insert_before (FList *item, FList *list); +FPtrListItem *f_ptrlistitem_new (void *data); +void f_ptrlistitem_delete (FPtrListItem *item, FVisitorFunc fn, void *user_data); -FListItem *f_list_begin (FList *list); -FListItem *f_list_end (FList *list); -FListItem *f_list_rbegin (FList *list); -FListItem *f_list_rend (FList *list); +void *f_ptrlistitem_get (FPtrListItem *item); +void f_ptrlistitem_set (FPtrListItem *item, void *data); -FListItem *f_list_first (FList *list); -FListItem *f_list_last (FList *list); +FPtrListItem *f_ptrlistitem_next (FPtrListItem *item); +FPtrListItem *f_ptrlistitem_previous (FPtrListItem *item); +void f_ptrlistitem_remove (FPtrListItem *item); -int f_list_add (FList *list, FListItem *listitem); -FList *_f_list_add_sorted (FList *list, void *data, FCompareFunc fn, void *user_data); -FList *_f_list_append (FList *list, void *data); -FList *_f_list_append_unique (FList *list, void *data, FCompareFunc fn, void *user_data); -FList *f_list_concat (FList *list1, FList *list2); -FList *f_list_copy (FList *list); -size_t f_list_count (FList *list); -FList *f_list_deep_copy (FList *list, FCopyFunc fn, void *user_data); -void f_list_detach (FList *list, FCopyFunc fn, void *user_data); -FListItem *f_list_detect (FList *list, FDetectFunc dfn, void *user_data); -//void f_list_exclude (FList *list, FList *excludelist, FDetectFunc dfn, void *user_data); -FList *f_list_filter (FList *list, FDetectFunc fn, void *user_data); -FListItem *_f_list_find (FList *list, const void *data); -FListItem *_f_list_find_custom (FList *list, const void *data, FCompareFunc cfn, void *user_data); -void f_list_foreach (FList *list, FVisitorFunc fn, void *user_data); -FList *f_list_reverse (FList *list); -void f_list_reverse_foreach (FList *list, FVisitorFunc fn, void *user_data); -FList *f_list_uniques (FList *list, FCompareFunc fn, void *user_data); +/* FIXME: Make private as soon as possible */ +typedef struct FPtrListItem FPtrList; + +FPtrList *f_ptrlist_new (void); +void f_ptrlist_delete (FPtrList *list, FVisitorFunc fn, void *user_data); +void f_ptrlist_init (FPtrList *list); + +void f_ptrlist_insert_after (FPtrList *item, FPtrList *list); +void f_ptrlist_insert_before (FPtrList *item, FPtrList *list); + +FPtrListItem *f_ptrlist_begin (FPtrList *list); +FPtrListItem *f_ptrlist_end (FPtrList *list); +FPtrListItem *f_ptrlist_rbegin (FPtrList *list); +FPtrListItem *f_ptrlist_rend (FPtrList *list); + +FPtrListItem *f_ptrlist_first (FPtrList *list); +FPtrListItem *f_ptrlist_last (FPtrList *list); + +FPtrList *f_ptrlist_add_sorted (FPtrList *list, void *data, FCompareFunc fn, void *user_data); +FPtrList *f_ptrlist_append (FPtrList *list, void *data); +FPtrList *f_ptrlist_append_unique (FPtrList *list, void *data, FCompareFunc fn, void *user_data); +FPtrList *f_ptrlist_concat (FPtrList *list1, FPtrList *list2); +FPtrList *f_ptrlist_copy (FPtrList *list); +size_t f_ptrlist_count (FPtrList *list); +FPtrList *f_ptrlist_deep_copy (FPtrList *list, FCopyFunc fn, void *user_data); +void f_ptrlist_detach (FPtrList *list, FCopyFunc fn, void *user_data); +FPtrListItem *f_ptrlist_detect (FPtrList *list, FDetectFunc dfn, void *user_data); +//void f_ptrlist_exclude (FPtrList *list, FPtrList *excludelist, FDetectFunc dfn, void *user_data); +FPtrList *f_ptrlist_filter (FPtrList *list, FDetectFunc fn, void *user_data); +FPtrListItem *f_ptrlist_find (FPtrList *list, const void *data); +FPtrListItem *f_ptrlist_find_custom (FPtrList *list, const void *data, FCompareFunc cfn, void *user_data); +void f_ptrlist_foreach (FPtrList *list, FVisitorFunc fn, void *user_data); +FPtrList *f_ptrlist_reverse (FPtrList *list); +void f_ptrlist_reverse_foreach (FPtrList *list, FVisitorFunc fn, void *user_data); +FPtrList *f_ptrlist_uniques (FPtrList *list, FCompareFunc fn, void *user_data); /* FIXME: To be removed */ -void _f_list_exclude (FList **list, FList **excludelist, FDetectFunc dfn, void *user_data); -void _f_list_remove (FList **list, FListItem *item); -FList *f_list_remove_find_custom (FList *haystack, void *needle, FCompareFunc fn, void **data); +void _f_ptrlist_exclude (FPtrList **list, FPtrList **excludelist, FDetectFunc dfn, void *user_data); +void _f_ptrlist_remove (FPtrList **list, FPtrListItem *item); +FPtrList *f_ptrlist_remove_find_custom (FPtrList *haystack, void *needle, FCompareFunc fn, void **data); #define f_foreach(it, list) \ - for (it = f_list_begin (list); it != f_list_end (list); it = f_listitem_next (it)) + for (it = f_ptrlist_begin (list); it != f_ptrlist_end (list); it = f_ptrlistitem_next (it)) #define f_rforeach(it, list) \ - for (it = f_list_rbegin (list); it != f_list_rend (list); it = f_listitem_prev (it)) + for (it = f_ptrlist_rbegin (list); it != f_ptrlist_rend (list); it = f_ptrlistitem_prev (it)) #endif /* F_LIST_H */ diff --git a/lib/libflib/flistaccumulator.c b/lib/libflib/flistaccumulator.c index c1a4301..dba9cb5 100644 --- a/lib/libflib/flistaccumulator.c +++ b/lib/libflib/flistaccumulator.c @@ -27,42 +27,42 @@ #include "flist.h" -void f_listaccumulator_init (FListAccumulator *listaccumulator, FList *list) { +void f_ptrlistaccumulator_init (FPtrListAccumulator *listaccumulator, FPtrList *list) { listaccumulator->head = list; - listaccumulator->last = f_list_last (list); + listaccumulator->last = f_ptrlist_last (list); } -FList *f_listaccumulator_fini (FListAccumulator *listaccumulator) { - FList *ret = listaccumulator->head; +FPtrList *f_ptrlistaccumulator_fini (FPtrListAccumulator *listaccumulator) { + FPtrList *ret = listaccumulator->head; listaccumulator->head = listaccumulator->last = NULL; return ret; } -void f_listaccumulator_accumulate (FListAccumulator *listaccumulator, void *data) { - f_listaccumulate (data, listaccumulator); +void f_ptrlistaccumulator_accumulate (FPtrListAccumulator *listaccumulator, void *data) { + f_ptrlistaccumulate (data, listaccumulator); } -void f_listaccumulator_reverse_accumulate (FListAccumulator *listaccumulator, void *data) { - f_listreverseaccumulate (data, listaccumulator); +void f_ptrlistaccumulator_reverse_accumulate (FPtrListAccumulator *listaccumulator, void *data) { + f_ptrlistreverseaccumulate (data, listaccumulator); } -void f_listaccumulate (void *data, FListAccumulator *listaccumulator) { - FList *item = f_listitem_new (data); +void f_ptrlistaccumulate (void *data, FPtrListAccumulator *listaccumulator) { + FPtrList *item = f_ptrlistitem_new (data); if (listaccumulator->head != NULL) { - f_list_insert_after (listaccumulator->last, item); + f_ptrlist_insert_after (listaccumulator->last, item); listaccumulator->last = listaccumulator->last->next; } else { listaccumulator->head = listaccumulator->last = item; } } -void f_listreverseaccumulate (void *data, FListAccumulator *listaccumulator) { - FList *item = f_listitem_new (data); +void f_ptrlistreverseaccumulate (void *data, FPtrListAccumulator *listaccumulator) { + FPtrList *item = f_ptrlistitem_new (data); if (listaccumulator->head != NULL) { - f_list_insert_before (listaccumulator->head, item); + f_ptrlist_insert_before (listaccumulator->head, item); listaccumulator->head = listaccumulator->head->prev; } else { listaccumulator->head = listaccumulator->last = item; diff --git a/lib/libflib/flistaccumulator.h b/lib/libflib/flistaccumulator.h index b819ba5..b72da63 100644 --- a/lib/libflib/flistaccumulator.h +++ b/lib/libflib/flistaccumulator.h @@ -24,21 +24,21 @@ #include "flist.h" -typedef struct FListAccumulator FListAccumulator; +typedef struct FPtrListAccumulator FPtrListAccumulator; -struct FListAccumulator { - FList *head; - FList *last; +struct FPtrListAccumulator { + FPtrList *head; + FPtrList *last; }; -void f_listaccumulator_init (FListAccumulator *listaccumulator, FList *list); -FList *f_listaccumulator_fini (FListAccumulator *listaccumulator); +void f_ptrlistaccumulator_init (FPtrListAccumulator *listaccumulator, FPtrList *list); +FPtrList *f_ptrlistaccumulator_fini (FPtrListAccumulator *listaccumulator); -void f_listaccumulator_accumulate (FListAccumulator *listaccumulator, void *data); -void f_listaccumulator_reverse_accumulate (FListAccumulator *listaccumulator, void *data); +void f_ptrlistaccumulator_accumulate (FPtrListAccumulator *listaccumulator, void *data); +void f_ptrlistaccumulator_reverse_accumulate (FPtrListAccumulator *listaccumulator, void *data); -void f_listaccumulate (void *data, FListAccumulator *listaccumulator); -void f_listreverseaccumulate (void *data, FListAccumulator *listaccumulator); +void f_ptrlistaccumulate (void *data, FPtrListAccumulator *listaccumulator); +void f_ptrlistreverseaccumulate (void *data, FPtrListAccumulator *listaccumulator); #endif /* F_LISTACCUMULATOR_H */ diff --git a/lib/libflib/fstringlist.c b/lib/libflib/fstringlist.c index 89a4524..1ddc6e5 100644 --- a/lib/libflib/fstringlist.c +++ b/lib/libflib/fstringlist.c @@ -29,29 +29,29 @@ #include "fstring.h" struct FStringListItem { - FListItem base; + FPtrListItem base; char str[1]; /* string + NULL terminator */ }; static -FListItem *f_stringlistitem_as_listitem (FStringListItem *stringlistitem); +FPtrListItem *f_stringlistitem_as_listitem (FStringListItem *stringlistitem); FStringListItem *f_stringlistitem_new (const char *str, size_t size) { FStringListItem *stringlistitem = f_zalloc (sizeof (*stringlistitem) + size * sizeof (char)); if (stringlistitem != NULL) { -// f_listitem_init (); +// f_ptrlistitem_init (f_stringlistitem_as_listitem (stringlistitem)); strcpy (stringlistitem->str, str); } return stringlistitem; } void f_stringlistitem_delete (FStringListItem *stringlistitem) { - f_listitem_delete (f_stringlistitem_as_listitem (stringlistitem), NULL, NULL); + f_ptrlistitem_delete (f_stringlistitem_as_listitem (stringlistitem), NULL, NULL); } -FListItem *f_stringlistitem_as_listitem (FStringListItem *stringlistitem) { +FPtrListItem *f_stringlistitem_as_listitem (FStringListItem *stringlistitem) { return &stringlistitem->base; } @@ -59,25 +59,25 @@ const char *f_stringlistitem_get (FStringListItem *stringlistitem) { return stringlistitem != NULL ? stringlistitem->str : NULL; } -FList *f_stringlist_append (FList *list, const char *str) { - return _f_list_append (list, f_strdup (str)); +FPtrList *f_stringlist_append (FPtrList *list, const char *str) { + return f_ptrlist_append (list, f_strdup (str)); } -FList *f_stringlist_deep_copy (FList *list) { - return f_list_deep_copy (list, (FCopyFunc)f_strdup, NULL); +FPtrList *f_stringlist_deep_copy (FPtrList *list) { + return f_ptrlist_deep_copy (list, (FCopyFunc)f_strdup, NULL); } -void f_stringlist_detach (FList *list) { - f_list_detach (list, (FCopyFunc)f_strdup, NULL); +void f_stringlist_detach (FPtrList *list) { + f_ptrlist_detach (list, (FCopyFunc)f_strdup, NULL); } /* Condense a list of strings into one long (space-delimited) string * */ -char *f_stringlist_join (FList *stringlist, const char *sep) +char *f_stringlist_join (FPtrList *stringlist, const char *sep) { char *str; size_t size = 1, sep_size = strlen (sep); - FList *lp; + FPtrList *lp; f_foreach (lp, stringlist) { size += strlen(lp->data) + sep_size; @@ -97,20 +97,20 @@ char *f_stringlist_join (FList *stringlist, const char *sep) return(str); } -FList *f_stringlist_find (FList *list, const char *str) { - return f_list_detect (list, (FDetectFunc)strcmp, (void *)str); +FPtrList *f_stringlist_find (FPtrList *list, const char *str) { + return f_ptrlist_detect (list, (FDetectFunc)strcmp, (void *)str); } -FList *f_stringlist_remove_all (FList *list, const char *str) { - FList *excludes = f_list_new (); +FPtrList *f_stringlist_remove_all (FPtrList *list, const char *str) { + FPtrList *excludes = f_ptrlist_new (); - _f_list_exclude (&list, &excludes, (FDetectFunc)strcmp, str); - f_list_delete (excludes, (FVisitorFunc)f_free, NULL); + _f_ptrlist_exclude (&list, &excludes, (FDetectFunc)strcmp, str); + f_ptrlist_delete (excludes, (FVisitorFunc)f_free, NULL); return list; } -FList *f_stringlist_uniques (FList *list) { - return f_list_uniques (list, (FCompareFunc)strcmp, NULL); +FPtrList *f_stringlist_uniques (FPtrList *list) { + return f_ptrlist_uniques (list, (FCompareFunc)strcmp, NULL); } /* vim: set ts=2 sw=2 noet: */ diff --git a/lib/libflib/fstringlist.h b/lib/libflib/fstringlist.h index e8b1515..5966c5f 100644 --- a/lib/libflib/fstringlist.h +++ b/lib/libflib/fstringlist.h @@ -27,13 +27,13 @@ typedef struct FStringListItem FStringListItem; typedef struct FStringList FStringList; -FList *f_stringlist_append (FList *list, const char *str); -FList *f_stringlist_deep_copy (FList *list); -void f_stringlist_detach (FList *list); -FList *f_stringlist_find (FList *list, const char *str); -char *f_stringlist_join (FList *list, const char *sep); -FList *f_stringlist_remove_all (FList *list, const char *str); -FList *f_stringlist_uniques (FList *list); +FPtrList *f_stringlist_append (FPtrList *list, const char *str); +FPtrList *f_stringlist_deep_copy (FPtrList *list); +void f_stringlist_detach (FPtrList *list); +FPtrList *f_stringlist_find (FPtrList *list, const char *str); +char *f_stringlist_join (FPtrList *list, const char *sep); +FPtrList *f_stringlist_remove_all (FPtrList *list, const char *str); +FPtrList *f_stringlist_uniques (FPtrList *list); #endif /* F_STRINGLIST_H */ diff --git a/lib/libpacman/cache.c b/lib/libpacman/cache.c index 350c897..de123d0 100644 --- a/lib/libpacman/cache.c +++ b/lib/libpacman/cache.c @@ -68,7 +68,7 @@ int _pacman_db_load_pkgcache(pmdb_t *db) info->origin = PKG_FROM_CACHE; info->db = db; /* add to the collective */ - db->pkgcache = f_list_add_sorted(db->pkgcache, info, (FCompareFunc)_pacman_pkg_cmp, NULL); + db->pkgcache = f_ptrlist_add_sorted(db->pkgcache, info, (FCompareFunc)_pacman_pkg_cmp, NULL); } return(0); @@ -109,7 +109,7 @@ int _pacman_db_add_pkgincache(pmdb_t *db, pmpkg_t *pkg) return(-1); } _pacman_log(PM_LOG_DEBUG, _("adding entry '%s' in '%s' cache"), pkg->name, db->treename); - db->pkgcache = f_list_add_sorted(db->pkgcache, pkg, (FCompareFunc)_pacman_pkg_cmp, NULL); + db->pkgcache = f_ptrlist_add_sorted(db->pkgcache, pkg, (FCompareFunc)_pacman_pkg_cmp, NULL); _pacman_db_free_grpcache(db); @@ -176,8 +176,8 @@ int _pacman_db_load_grpcache(pmdb_t *db) pmgrp_t *grp = _pacman_grp_new(); STRNCPY(grp->name, (char *)i->data, GRP_NAME_LEN); - grp->packages = f_list_add_sorted(grp->packages, pkg->name, (FCompareFunc)_pacman_grp_cmp, NULL); - db->grpcache = f_list_add_sorted(db->grpcache, grp, (FCompareFunc)_pacman_grp_cmp, NULL); + grp->packages = f_ptrlist_add_sorted(grp->packages, pkg->name, (FCompareFunc)_pacman_grp_cmp, NULL); + db->grpcache = f_ptrlist_add_sorted(db->grpcache, grp, (FCompareFunc)_pacman_grp_cmp, NULL); } else { pmlist_t *j; @@ -186,7 +186,7 @@ int _pacman_db_load_grpcache(pmdb_t *db) if(strcmp(grp->name, i->data) == 0) { if(!f_stringlist_find (grp->packages, pkg->name)) { - grp->packages = f_list_add_sorted(grp->packages, (char *)pkg->name, (FCompareFunc)_pacman_grp_cmp, NULL); + grp->packages = f_ptrlist_add_sorted(grp->packages, (char *)pkg->name, (FCompareFunc)_pacman_grp_cmp, NULL); } } } diff --git a/lib/libpacman/conflict.c b/lib/libpacman/conflict.c index c94ede3..9c6aeb5 100644 --- a/lib/libpacman/conflict.c +++ b/lib/libpacman/conflict.c @@ -58,13 +58,13 @@ pmlist_t *_pacman_checkconflicts(pmtrans_t *trans) { int howmany, remain; double percent; - howmany = f_list_count (trans->packages); + howmany = f_ptrlist_count (trans->packages); f_foreach (i, trans->packages) { pmtranspkg_t *transpkg = i->data; const char *transpkg_name = __pacman_transpkg_name (transpkg); - remain = f_list_count (i); + remain = f_ptrlist_count (i); percent = (double)(howmany - remain + 1) / howmany; if(trans->type == PM_TRANS_TYPE_SYNC) { @@ -226,7 +226,7 @@ pmlist_t *_pacman_db_find_conflicts(pmtrans_t *trans, pmlist_t **skip_list) double percent; int remain; pmdb_t *db = trans->handle->db_local; - int howmany = f_list_count (trans->packages); + int howmany = f_ptrlist_count (trans->packages); if (howmany == 0) { return(NULL); @@ -240,7 +240,7 @@ pmlist_t *_pacman_db_find_conflicts(pmtrans_t *trans, pmlist_t **skip_list) continue; } - remain = f_list_count (i); + remain = f_ptrlist_count (i); percent = (double)(howmany - remain + 1) / howmany; PROGRESS(trans, PM_TRANS_PROGRESS_CONFLICTS_START, "", (percent * 100), howmany, howmany - remain + 1); for(j = i->next; j; j = j->next) { diff --git a/lib/libpacman/db.c b/lib/libpacman/db.c index c18c5a4..e33d7f5 100644 --- a/lib/libpacman/db.c +++ b/lib/libpacman/db.c @@ -128,7 +128,7 @@ pmlist_t *_pacman_db_search(pmdb_t *db, pmlist_t *needles) if (_pacman_reg_match_or_strstr(pkg->name, targ) == 0 || _pacman_reg_match_or_strstr(_pacman_pkg_getinfo(pkg, PM_PKG_DESC), targ) == 0 || - f_list_detect(_pacman_pkg_getinfo(pkg, PM_PKG_PROVIDES), (FDetectFunc)_pacman_reg_match_or_strstr, (void *)targ)) { + f_ptrlist_detect(_pacman_pkg_getinfo(pkg, PM_PKG_PROVIDES), (FDetectFunc)_pacman_reg_match_or_strstr, (void *)targ)) { _pacman_log(PM_LOG_DEBUG, " search target '%s' matched '%s'", targ, pkg->name); ret = _pacman_list_add(ret, pkg); } diff --git a/lib/libpacman/deps.c b/lib/libpacman/deps.c index 317fc40..84e8111 100644 --- a/lib/libpacman/deps.c +++ b/lib/libpacman/deps.c @@ -187,7 +187,7 @@ int _pacman_trans_is_depend_satisfied (pmtrans_t *trans, pmdepend_t *depend) { } /* Else check transaction for provides */ - if (f_list_detect (trans->packages, (FDetectFunc)_pacman_transpkg_is_depend_satisfied, depend) != NULL) { + if (f_ptrlist_detect (trans->packages, (FDetectFunc)_pacman_transpkg_is_depend_satisfied, depend) != NULL) { return 0; } @@ -349,7 +349,7 @@ void _pacman_sortbydeps(pmtrans_t *trans, int mode) if(mode == PM_TRANS_TYPE_REMOVE) { /* we're removing packages, so reverse the order */ - pmlist_t *tmptargs = f_list_reverse(newtargs); + pmlist_t *tmptargs = f_ptrlist_reverse(newtargs); /* free the old one */ FREELISTPTR(newtargs); newtargs = tmptargs; @@ -458,7 +458,7 @@ void _pacman_removedeps(pmtrans_t *trans) f_foreach (i, trans->packages) { pmtranspkg_t *transpkg = i->data; - FList *transpkg_depends = _pacman_pkg_getinfo(transpkg->pkg_local, PM_PKG_DEPENDS); + FPtrList *transpkg_depends = _pacman_pkg_getinfo(transpkg->pkg_local, PM_PKG_DEPENDS); f_foreach (j, transpkg_depends) { pmdepend_t depend; @@ -512,10 +512,10 @@ void _pacman_removedeps(pmtrans_t *trans) static int _pacman_transpkg_remove_dependsonly (pmtrans_t *trans) { - FList *excludes = f_list_new (); + FPtrList *excludes = f_ptrlist_new (); - _f_list_exclude (&trans->packages, &excludes, (FDetectFunc)_pacman_transpkg_has_flags, (void*)PM_TRANS_FLAG_DEPENDSONLY); - f_list_delete (excludes, NULL, NULL); + _f_ptrlist_exclude (&trans->packages, &excludes, (FDetectFunc)_pacman_transpkg_has_flags, (void*)PM_TRANS_FLAG_DEPENDSONLY); + f_ptrlist_delete (excludes, NULL, NULL); return 0; } diff --git a/lib/libpacman/list.h b/lib/libpacman/list.h index a50606e..757423c 100644 --- a/lib/libpacman/list.h +++ b/lib/libpacman/list.h @@ -23,14 +23,14 @@ #include "flist.h" -typedef FList pmlist_t; +typedef FPtrList pmlist_t; -#define _FREELIST(ptr, fn) do { if(ptr) { f_list_delete (ptr, (FVisitorFunc)fn, NULL); ptr = NULL; } } while(0) +#define _FREELIST(ptr, fn) do { if(ptr) { f_ptrlist_delete (ptr, (FVisitorFunc)fn, NULL); ptr = NULL; } } while(0) #define FREELIST(p) _FREELIST(p, free) #define FREELISTPTR(p) _FREELIST(p, NULL) -#define _pacman_list_add _f_list_append -#define _pacman_list_remove(list, ptr, fn, data) f_list_remove_find_custom((list), (ptr), (FCompareFunc)(fn), (data)) +#define _pacman_list_add f_ptrlist_append +#define _pacman_list_remove(list, ptr, fn, data) f_ptrlist_remove_find_custom((list), (ptr), (FCompareFunc)(fn), (data)) #endif /* _PACMAN_LIST_H */ diff --git a/lib/libpacman/package.c b/lib/libpacman/package.c index 1e547bd..8b0d1b1 100644 --- a/lib/libpacman/package.c +++ b/lib/libpacman/package.c @@ -159,7 +159,7 @@ static int parse_descfile(char *descfile, pmpkg_t *info, int output) STRNCPY(info->version, ptr, sizeof(info->version)); } else if(!strcmp(key, "PKGDESC")) { info->desc_localized = f_stringlist_append (info->desc_localized, ptr); - if(f_list_count (info->desc_localized) == 1) { + if(f_ptrlist_count (info->desc_localized) == 1) { STRNCPY(info->desc, ptr, sizeof(info->desc)); } else if (!strncmp(ptr, handle->language, strlen(handle->language))) { STRNCPY(info->desc, ptr+strlen(handle->language)+1, sizeof(info->desc)); diff --git a/lib/libpacman/pacman.c b/lib/libpacman/pacman.c index 67289f7..0e371e5 100644 --- a/lib/libpacman/pacman.c +++ b/lib/libpacman/pacman.c @@ -197,10 +197,10 @@ int pacman_db_unregister(pmdb_t *db) handle->db_local = NULL; found = 1; } else { - FListItem *item = _f_list_find (handle->dbs_sync, db); - if (item != f_list_end (handle->dbs_sync)) { - _f_list_remove (&handle->dbs_sync, item); - f_listitem_delete (item, NULL, NULL); + FPtrListItem *item = f_ptrlist_find (handle->dbs_sync, db); + if (item != f_ptrlist_end (handle->dbs_sync)) { + _f_ptrlist_remove (&handle->dbs_sync, item); + f_ptrlistitem_delete (item, NULL, NULL); found = 1; } } @@ -322,7 +322,7 @@ int pacman_db_update(int force, PM_DB *db) return -1; } - if(!_f_list_find (handle->dbs_sync, db)) { + if(!f_ptrlist_find (handle->dbs_sync, db)) { RET_ERR(PM_ERR_DB_NOT_FOUND, -1); } @@ -940,7 +940,7 @@ int pacman_logaction(const char *fmt, ...) */ pmlist_t *pacman_list_first(pmlist_t *list) { - return f_list_begin (list); + return f_ptrlist_begin (list); } /** Get the next element of a list. @@ -986,7 +986,7 @@ int pacman_list_count(pmlist_t *list) { ASSERT(list != NULL, return(-1)); - return f_list_count (list); + return f_ptrlist_count (list); } /** @} */ diff --git a/lib/libpacman/pacman.h b/lib/libpacman/pacman.h index 802524e..209e247 100644 --- a/lib/libpacman/pacman.h +++ b/lib/libpacman/pacman.h @@ -46,7 +46,7 @@ extern "C" { * Structures (opaque) */ -typedef struct FList PM_LIST; +typedef struct FPtrListItem PM_LIST; typedef struct __pmdb_t PM_DB; typedef struct __pmpkg_t PM_PKG; typedef struct __pmgrp_t PM_GRP; diff --git a/lib/libpacman/server.c b/lib/libpacman/server.c index 5ab1a40..fce751e 100644 --- a/lib/libpacman/server.c +++ b/lib/libpacman/server.c @@ -171,7 +171,7 @@ int _pacman_downloadfiles_forreal(pmlist_t *servers, const char *localpath, pm_errno = 0; if(howmany) { - *howmany = f_list_count (files); + *howmany = f_ptrlist_count (files); } if(remain) { *remain = 1; @@ -577,7 +577,7 @@ int _pacman_downloadfiles_forreal(pmlist_t *servers, const char *localpath, } } - if (f_list_count (complete) == f_list_count (files)) { + if (f_ptrlist_count (complete) == f_ptrlist_count (files)) { done = 1; break; } diff --git a/lib/libpacman/trans.c b/lib/libpacman/trans.c index 325e43e..2ec2d3e 100644 --- a/lib/libpacman/trans.c +++ b/lib/libpacman/trans.c @@ -120,19 +120,23 @@ int check_oldcache(pmtrans_t *trans) return(0); } -pmsyncpkg_t *__pacman_trans_get_trans_pkg(pmtrans_t *trans, const char *package) { +pmsyncpkg_t *_pacman_trans_get_transpkg (pmtrans_t *trans, const char *package_name, int flags) { /* Sanity checks */ ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, NULL)); + ASSERT(f_strlen (package_name) != 0, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + + return f_ptrlistitem_get (f_ptrlist_detect (trans->packages, (FDetectFunc)__pacman_transpkg_detect_name, (void *)package_name)); +} - return f_list_get (f_list_detect (trans->packages, (FDetectFunc)__pacman_transpkg_detect_name, (void *)package)); +pmsyncpkg_t *__pacman_trans_get_trans_pkg(pmtrans_t *trans, const char *package) { + return _pacman_trans_get_transpkg(trans, package, 0); } static void __pacman_trans_fini(FObject *obj) { pmtrans_t *trans = (pmtrans_t *)obj; - FREELIST(trans->targets); - f_list_delete (trans->packages, (FVisitorFunc)__pacman_trans_pkg_delete, NULL); + f_ptrlist_delete (trans->packages, (FVisitorFunc)__pacman_trans_pkg_delete, NULL); FREELIST(trans->skiplist); } @@ -306,7 +310,7 @@ pmtranspkg_t *_pacman_trans_add (pmtrans_t *trans, pmtranspkg_t *transpkg) { if (_pacman_versioncmp(transpkg_in->pkg_new->version, transpkg->pkg_new->version) < 0) { _pacman_log (PM_LOG_WARNING, _("replacing older version %s-%s by %s in target list"), transpkg_in->pkg_new->name, transpkg_in->pkg_new->version, transpkg->pkg_new->version); - _f_list_find (trans->_packages, transpkg_in->pkg_new)->data = transpkg->pkg_new; + f_ptrlist_find (trans->_packages, transpkg_in->pkg_new)->data = transpkg->pkg_new; f_ptrswap (&transpkg_in->pkg_new, &transpkg->pkg_new); } else { _pacman_log(PM_LOG_WARNING, _("newer version %s-%s is in the target list -- skipping"), @@ -539,12 +543,12 @@ int _pacman_trans_addtarget (pmtrans_t *trans, const char *target, pmtranstype_t static void _pacman_trans_remove_target (pmtrans_t *trans, const char *target) { - FListItem *item = f_list_detect (trans->packages, (FDetectFunc)__pacman_transpkg_detect_name, (void *)target); + FPtrListItem *item = f_ptrlist_detect (trans->packages, (FDetectFunc)__pacman_transpkg_detect_name, (void *)target); - if (item != f_list_end (trans->packages)) { + if (item != f_ptrlist_end (trans->packages)) { _pacman_log(PM_LOG_FLOW2, _("removing '%s' from target list"), target); - _f_list_remove (&trans->packages, item); - f_listitem_delete (item, (FVisitorFunc)__pacman_trans_pkg_delete, NULL); + _f_ptrlist_remove (&trans->packages, item); + f_ptrlistitem_delete (item, (FVisitorFunc)__pacman_trans_pkg_delete, NULL); } } @@ -1102,7 +1106,7 @@ int _pacman_remove_commit(pmtrans_t *trans, pmlist_t **data) ASSERT(db != NULL, RET_ERR(PM_ERR_DB_NULL, -1)); ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1)); - howmany = f_list_count (trans->packages); + howmany = f_ptrlist_count (trans->packages); f_foreach (targ, trans->packages) { int position = 0; @@ -1113,7 +1117,7 @@ int _pacman_remove_commit(pmtrans_t *trans, pmlist_t **data) break; } - remain = f_list_count (targ); + remain = f_ptrlist_count (targ); if(trans->type != PM_TRANS_TYPE_UPGRADE) { EVENT(trans, PM_TRANS_EVT_REMOVE_START, info, NULL); @@ -1127,11 +1131,11 @@ int _pacman_remove_commit(pmtrans_t *trans, pmlist_t **data) } if(!(trans->flags & PM_TRANS_FLAG_DBONLY)) { - int filenum = f_list_count (info->files); + int filenum = f_ptrlist_count (info->files); _pacman_log(PM_LOG_FLOW1, _("removing files")); /* iterate through the list backwards, unlinking files */ - for(lp = f_list_last(info->files); lp; lp = lp->prev) { + for(lp = f_ptrlist_last(info->files); lp; lp = lp->prev) { int nb = 0; double percent; char *file = lp->data; @@ -1330,7 +1334,7 @@ int _pacman_trans_commit(pmtrans_t *trans, pmlist_t **data) struct archive_entry *entry; char expath[PATH_MAX], cwd[PATH_MAX] = ""; pmlist_t *targ, *lp; - const int howmany = f_list_count (trans->packages); + const int howmany = f_ptrlist_count (trans->packages); f_foreach (targ, trans->packages) { pmtranstype_t transtype; @@ -1340,7 +1344,7 @@ int _pacman_trans_commit(pmtrans_t *trans, pmlist_t **data) pmpkg_t *local = NULL; pmpkg_t *oldpkg = NULL; errors = 0; - remain = f_list_count (targ); + remain = f_ptrlist_count (targ); struct trans_event_table_item *event; if(handle->trans->state == STATE_INTERRUPTED) { diff --git a/lib/libpacman/trans.h b/lib/libpacman/trans.h index d409ab4..b7e4e0b 100644 --- a/lib/libpacman/trans.h +++ b/lib/libpacman/trans.h @@ -126,6 +126,7 @@ int _pacman_transpkg_has_flags (pmtranspkg_t *transpkg, int flagsmask); int __pacman_trans_init(pmtrans_t *trans, pmtranstype_t type, unsigned int flags, pmtrans_cbs_t cbs); /* void __pacman_trans_fini(pmtrans_t *trans); */ +pmsyncpkg_t *__pacman_trans_get_transpkg (pmtrans_t *trans, const char *package, int flags); pmsyncpkg_t *__pacman_trans_get_trans_pkg(pmtrans_t *trans, const char *package); #endif /* _PACMAN_TRANS_H */ diff --git a/src/pacman-g2/list.h b/src/pacman-g2/list.h index e121467..12639b6 100644 --- a/src/pacman-g2/list.h +++ b/src/pacman-g2/list.h @@ -25,13 +25,12 @@ #include "flist.h" -/* Chained list struct */ -typedef FList list_t; +typedef FPtrList list_t; -#define FREELIST(p) do { if(p) { f_list_delete (p, (FVisitorFunc)free, NULL); p = NULL; } } while(0) -#define FREELISTPTR(p) do { if(p) { f_list_delete (p, NULL, NULL); p = NULL; } } while (0) +#define FREELIST(p) do { if(p) { f_ptrlist_delete (p, (FVisitorFunc)free, NULL); p = NULL; } } while(0) +#define FREELISTPTR(p) do { if(p) { f_ptrlist_delete (p, NULL, NULL); p = NULL; } } while (0) -#define list_add _f_list_append +#define list_add f_ptrlist_append void list_display(const char *title, list_t *list); #endif /* _PM_LIST_H */ diff --git a/src/pacman-g2/pacman-g2.c b/src/pacman-g2/pacman-g2.c index 8ea627d..d7223a0 100644 --- a/src/pacman-g2/pacman-g2.c +++ b/src/pacman-g2/pacman-g2.c @@ -638,7 +638,7 @@ int main(int argc, char *argv[]) cleanup(1); } - if (f_list_count(pm_targets) == 0 && !(config->op == PM_OP_QUERY || (config->op == PM_OP_SYNC + if (f_ptrlist_count(pm_targets) == 0 && !(config->op == PM_OP_QUERY || (config->op == PM_OP_SYNC && (config->op_s_sync || config->op_s_upgrade || config->op_s_clean || config->group || config->op_q_list)) || config->op == PM_OP_PS)) { ERR(NL, _("no targets specified (use -h for help)\n")); diff --git a/src/pacman-g2/ps.c b/src/pacman-g2/ps.c index 6bb7457..5a1cee7 100644 --- a/src/pacman-g2/ps.c +++ b/src/pacman-g2/ps.c @@ -111,7 +111,7 @@ static int ps_free(ps_t *ps) static list_t* add_or_free(list_t* l, ps_t* ps) { if (ps) { - if (f_list_count (ps->files) > 0) { + if (f_ptrlist_count (ps->files) > 0) { l = list_add(l, ps); } else ps_free(ps); @@ -147,7 +147,7 @@ static list_t* ps_parse(FILE *fp) { char buf[PATH_MAX+1], *ptr; ps_t* ps = NULL; - list_t* ret = f_list_new (); + list_t* ret = f_ptrlist_new (); while(!feof(fp)) { if(fgets(buf, PATH_MAX, fp) == NULL) diff --git a/src/pacman-g2/query.c b/src/pacman-g2/query.c index 6f4b324..2aeb7fb 100644 --- a/src/pacman-g2/query.c +++ b/src/pacman-g2/query.c @@ -84,7 +84,7 @@ int querypkg(list_t *targets) } if(config->op_q_foreign) { - if (f_list_count (pmc_syncs) == 0) { + if (f_ptrlist_count (pmc_syncs) == 0) { ERR(NL, _("no usable package repositories configured.\n")); return(1); } diff --git a/src/pacman-g2/sync.c b/src/pacman-g2/sync.c index c1107e9..7886eec 100644 --- a/src/pacman-g2/sync.c +++ b/src/pacman-g2/sync.c @@ -266,7 +266,7 @@ int syncpkg(list_t *targets) list_t *i; PM_LIST *packages, *data, *lp; - if (f_list_count (pmc_syncs) == 0) { + if (f_ptrlist_count (pmc_syncs) == 0) { ERR(NL, _("no usable package repositories configured.\n")); return(1); } @@ -348,7 +348,7 @@ int syncpkg(list_t *targets) f_foreach (lp, data) { PM_SYNCPKG *ps = pacman_list_getdata(lp); PM_PKG *spkg = pacman_sync_getinfo(ps, PM_SYNC_PKG); - if (!strcmp("pacman-g2", pacman_pkg_getinfo(spkg, PM_PKG_NAME)) && f_list_count (data) > 1) { + if (!strcmp("pacman-g2", pacman_pkg_getinfo(spkg, PM_PKG_NAME)) && f_ptrlist_count (data) > 1) { MSG(NL, _("\n:: pacman-g2 has detected a newer version of the \"pacman-g2\" package.\n")); MSG(NL, _(":: It is recommended that you allow pacman-g2 to upgrade itself\n")); MSG(NL, _(":: first, then you can re-run the operation with the newer version.\n")); _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
