+++ /dev/null
-From b925a520a63fb291675f707e602d04295236c85b Mon Sep 17 00:00:00 2001
-From: Andreas Oberritter <obi@opendreambox.org>
-Date: Thu, 17 May 2012 01:17:52 +0200
-Subject: [PATCH 07/10] pkg_hash_fetch_conflicts: move iteration over
- conflicts to subroutine
-
-Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
----
- libopkg/pkg_depends.c | 46 ++++++++++++++++++++++++----------------------
- 1 file changed, 24 insertions(+), 22 deletions(-)
-
-diff --git a/libopkg/pkg_depends.c b/libopkg/pkg_depends.c
-index 6ff75f1..1999b64 100644
---- a/libopkg/pkg_depends.c
-+++ b/libopkg/pkg_depends.c
-@@ -284,39 +284,22 @@ is_pkg_a_replaces(pkg_t *pkg_scout,pkg_t *pkg)
-
- }
-
--
--pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
-+static void __pkg_hash_fetch_conflicts(pkg_t * pkg, pkg_vec_t * installed_conflicts)
- {
-- pkg_vec_t * installed_conflicts, * test_vec;
-+ pkg_vec_t * test_vec;
- compound_depend_t * conflicts;
- depend_t ** possible_satisfiers;
- depend_t * possible_satisfier;
- int i, j, k;
-- abstract_pkg_t * ab_pkg;
- pkg_t **pkg_scouts;
- pkg_t *pkg_scout;
-
-- /*
-- * this is a setup to check for redundant/cyclic dependency checks,
-- * which are marked at the abstract_pkg level
-- */
-- if(!(ab_pkg = pkg->parent)){
-- opkg_msg(ERROR, "Internal error: %s not in hash table\n", pkg->name);
-- return (pkg_vec_t *)NULL;
-- }
--
- conflicts = pkg->conflicts;
-- if(!conflicts){
-- return (pkg_vec_t *)NULL;
-- }
-- installed_conflicts = pkg_vec_alloc();
--
--
--
-+ if(!conflicts)
-+ return;
-
- /* foreach conflict */
- for(i = 0; i < pkg->conflicts_count; i++){
--
- possible_satisfiers = conflicts->possibilities;
-
- /* foreach possible satisfier */
-@@ -352,11 +335,30 @@ pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
- }
- conflicts++;
- }
-+}
-+
-+pkg_vec_t * pkg_hash_fetch_conflicts(pkg_t * pkg)
-+{
-+ pkg_vec_t * installed_conflicts;
-+ abstract_pkg_t * ab_pkg;
-+
-+ /*
-+ * this is a setup to check for redundant/cyclic dependency checks,
-+ * which are marked at the abstract_pkg level
-+ */
-+ if(!(ab_pkg = pkg->parent)){
-+ opkg_msg(ERROR, "Internal error: %s not in hash table\n", pkg->name);
-+ return (pkg_vec_t *)NULL;
-+ }
-+
-+ installed_conflicts = pkg_vec_alloc();
-+
-+ __pkg_hash_fetch_conflicts(pkg, installed_conflicts);
-
- if (installed_conflicts->len)
- return installed_conflicts;
- pkg_vec_free(installed_conflicts);
-- return (pkg_vec_t *)NULL;
-+ return (pkg_vec_t *)NULL;
- }
-
- int version_constraints_satisfied(depend_t * depends, pkg_t * pkg)
---
-1.7.9.5
-