Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=pacman-g2.git;a=commitdiff;h=48b03fcad9311e8f969e6510e0015c1092883e05
commit 48b03fcad9311e8f969e6510e0015c1092883e05 Author: Michel Hermier <[email protected]> Date: Sat Aug 9 09:26:30 2014 +0200 libpacman: Add list item next/previous accessors. diff --git a/lib/libpacman/util/flist.c b/lib/libpacman/util/flist.c index 2b72965..e22ff3b 100644 --- a/lib/libpacman/util/flist.c +++ b/lib/libpacman/util/flist.c @@ -22,7 +22,7 @@ #include "config.h" -#include "util/flist.h" +#include "util/flist_p.h" #include "fstdlib.h" @@ -59,6 +59,20 @@ int f_listitem_insert_after(FListItem *self, FListItem *previous) return 0; } +FListItem *f_listitem_next(FListItem *self) +{ + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + + return self->next; +} + +FListItem *f_listitem_previous(FListItem *self) +{ + ASSERT(self != NULL, RET_ERR(PM_ERR_WRONG_ARGS, NULL)); + + return self->previous; +} + FList *f_list_new() { #ifndef F_NOCOMPAT diff --git a/lib/libpacman/util/flist.h b/lib/libpacman/util/flist.h index f6c71b8..7d75a5b 100644 --- a/lib/libpacman/util/flist.h +++ b/lib/libpacman/util/flist.h @@ -44,6 +44,8 @@ typedef void (*FListItemVisitorFunc)(FListItem *item, void *visitor_data); int f_listitem_delete(FListItem *self, FVisitor *visitor); int f_listitem_insert_after(FListItem *self, FListItem *previous); +FListItem *f_listitem_next(FListItem *self); +FListItem *f_listitem_previous(FListItem *self); FList *f_list_new(void); int f_list_delete(FList *self, FVisitor *visitor); diff --git a/lib/libpacman/util/fptrlist.c b/lib/libpacman/util/fptrlist.c index d84636d..93c2fcf 100644 --- a/lib/libpacman/util/fptrlist.c +++ b/lib/libpacman/util/fptrlist.c @@ -22,7 +22,7 @@ #include "config.h" -#include "util/fptrlist.h" +#include "util/fptrlist_p.h" #include "fstdlib.h" diff --git a/lib/libpacman/util/fptrlist.h b/lib/libpacman/util/fptrlist.h index f5fdfee..634da63 100644 --- a/lib/libpacman/util/fptrlist.h +++ b/lib/libpacman/util/fptrlist.h @@ -42,6 +42,8 @@ FPtrListItem *f_ptrlistitem_new(void *data); int f_ptrlistitem_delete(FListItem *self, FVisitor *visitor); void *f_ptrlistitem_data(const FPtrListItem *self); +#define f_ptrlistitem_next(self) ((FPtrListItem *)f_listitem_next((FListItem *)(self))) +#define f_ptrlistitem_previous(self) ((FPtrListItem *)f_listitem_previous((FListItem *)(self))) int f_ptrlistitem_match(const FPtrListItem *item, const FMatcher *matcher); int f_ptrlistitem_ptrcmp(const FPtrListItem *item, const void *ptr); diff --git a/lib/libpacman/util/fptrlist_p.h b/lib/libpacman/util/fptrlist_p.h index ca1ea00..01cd17a 100644 --- a/lib/libpacman/util/fptrlist_p.h +++ b/lib/libpacman/util/fptrlist_p.h @@ -24,6 +24,8 @@ #include "util/fptrlist.h" +#include "util/flist_p.h" + #ifdef __cplusplus extern "C" { #endif diff --git a/lib/libpacman/util/list.c b/lib/libpacman/util/list.c index c2d0ac7..ef8fa49 100644 --- a/lib/libpacman/util/list.c +++ b/lib/libpacman/util/list.c @@ -26,6 +26,7 @@ /* pacman-g2 */ #include "list.h" +#include "fptrlist_p.h" #include "fstdlib.h" #include "util.h" diff --git a/lib/libpacman/util/stringlist.c b/lib/libpacman/util/stringlist.c index e7711ff..1fc1a30 100644 --- a/lib/libpacman/util/stringlist.c +++ b/lib/libpacman/util/stringlist.c @@ -28,6 +28,7 @@ /* pacman-g2 */ #include "stringlist.h" +#include "util/fptrlist_p.h" #include "util.h" /* Test for existence of a string in a FStringList _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
