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

Reply via email to