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

Reply via email to