Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=08d740a5c75ad43e3c2e442b473e7cd6af6357bd

commit 08d740a5c75ad43e3c2e442b473e7cd6af6357bd
Author: Michel Hermier <[email protected]>
Date:   Mon Sep 8 16:44:45 2014 +0200

libpacman: Drop f_ptrlistitem_insert_after for FCPtrList::insert_after.

diff --git a/lib/libpacman/util/flist.h b/lib/libpacman/util/flist.h
index 601d3be..d4923a2 100644
--- a/lib/libpacman/util/flist.h
+++ b/lib/libpacman/util/flist.h
@@ -56,7 +56,6 @@ FPtrList *_pacman_list_reverse(FPtrList *list);
typedef void (*FPtrListIteratorVisitorFunc)(FPtrListIterator *item, void 
*visitor_data);

void *f_ptrlistitem_data(const FPtrListIterator *self);
-int f_ptrlistitem_insert_after(FPtrListIterator *self, FPtrListIterator 
*previous);
FPtrListIterator *f_ptrlistitem_next(FPtrListIterator *self);
size_t f_ptrlistiterator_count(const FPtrListIterator *self, const 
FPtrListIterator *to);

@@ -380,7 +379,6 @@ public:
friend FPtrList *f_ptrlist_add_sorted(FPtrList *list, void *data, 
_pacman_fn_cmp fn);
friend bool _pacman_list_remove(FPtrList *haystack, void *needle, 
_pacman_fn_cmp fn, void **data);
friend FPtrList *f_ptrlist_add(FPtrList *list, void *data);
-       friend int f_ptrlistitem_insert_after(FPtrListIterator *self, 
FPtrListIterator *previous);
friend class FPtrList;

typedef void *value_type;
@@ -424,8 +422,22 @@ public:
}
#endif

-//protected: // Disable for now
-       bool insert_after(FCListItem *previous);
+       bool insert_after(FCListItem *previous)
+       {
+               FCListItem *next;
+
+               ASSERT(previous != NULL, RET_ERR(PM_ERR_WRONG_ARGS, false));
+
+               next = previous->m_next;
+               previous->m_next = this;
+               m_next = next;
+               m_previous = previous;
+#ifndef F_NOCOMPAT
+               if (next != NULL)
+#endif
+               next->m_previous = this;
+               return true;
+       }

protected:
FCListItem *m_next;
diff --git a/lib/libpacman/util/fptrlist.cpp b/lib/libpacman/util/fptrlist.cpp
index f471d2b..88f14bf 100644
--- a/lib/libpacman/util/fptrlist.cpp
+++ b/lib/libpacman/util/fptrlist.cpp
@@ -41,11 +41,10 @@ FPtrList *f_ptrlist_add_sorted(FPtrList *list, void *data, 
_pacman_fn_cmp fn)
/* Insert before in head */
FPtrListItem *next = new FPtrListItem(list->m_data);
list->m_data = data;
-               f_ptrlistitem_insert_after(next, list);
+               next->insert_after(list);
} else {
#endif
-       FPtrListIterator *add = new FPtrListItem();
-       add->m_data = data;
+       FPtrListIterator *add = new FPtrListItem(data);

/* Find insertion point. */
FPtrListIterator *previous = list;
@@ -56,7 +55,7 @@ FPtrList *f_ptrlist_add_sorted(FPtrList *list, void *data, 
_pacman_fn_cmp fn)
}

/*  Insert node before insertion point. */
-       f_ptrlistitem_insert_after(add, previous);
+       add->insert_after(previous);
#ifndef F_NOCOMPAT
}
#endif
@@ -148,24 +147,6 @@ void *f_ptrlistitem_data(const FPtrListIterator *self)
return self->m_data;
}

-int f_ptrlistitem_insert_after(FPtrListIterator *self, FPtrListIterator 
*previous)
-{
-       FPtrListIterator *next;
-
-       ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
-       ASSERT(previous != NULL, RET_ERR(PM_ERR_WRONG_ARGS, -1));
-
-       next = previous->m_next;
-       previous->m_next = self;
-       self->m_next = next;
-       self->m_previous = previous;
-#ifndef F_NOCOMPAT
-       if (next != NULL)
-#endif
-       next->m_previous = self;
-       return 0;
-}
-
FPtrListIterator *f_ptrlistitem_next(FPtrListIterator *self)
{
ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL));
@@ -204,17 +185,10 @@ FPtrList &FPtrList::add(void *data)
m_data = (void *)data;
} else {
#endif
-       FPtrListIterator *lp = last();
-       f_ptrlistitem_insert_after(new FPtrListItem(), lp);
-       lp = lp->m_next;
-       lp->m_data = data;
+       (new FPtrListItem(data))->insert_after(last());
#ifndef F_NOCOMPAT
}
#endif
-
-#if 0
-       f_ptrlistitem_insert_after(new FPtrListItem(data), last());
-#endif
return *this;
}
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to