--- /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
+