Michal Luscon 29e11ee
From 364c90b0d551d1b4b30a4a8de85e7652ff8ac697 Mon Sep 17 00:00:00 2001
Michal Luscon 29e11ee
From: Michael Schroeder <mls@suse.de>
Michal Luscon 29e11ee
Date: Tue, 13 Oct 2015 10:36:58 +0200
Michal Luscon 29e11ee
Subject: [PATCH 1/6] Simplify solver_addduprules a bit
Michal Luscon 29e11ee
Michal Luscon 29e11ee
---
Michal Luscon 29e11ee
 src/rules.c | 13 +++++++------
Michal Luscon 29e11ee
 1 file changed, 7 insertions(+), 6 deletions(-)
Michal Luscon 29e11ee
Michal Luscon 29e11ee
diff --git a/src/rules.c b/src/rules.c
Michal Luscon 29e11ee
index ead78d6..480e052 100644
Michal Luscon 29e11ee
--- a/src/rules.c
Michal Luscon 29e11ee
+++ b/src/rules.c
Michal Luscon 29e11ee
@@ -1796,6 +1796,7 @@ void
Michal Luscon 29e11ee
 solver_addduprules(Solver *solv, Map *addedmap)
Michal Luscon 29e11ee
 {
Michal Luscon 29e11ee
   Pool *pool = solv->pool;
Michal Luscon 29e11ee
+  Repo *installed = solv->installed;
Michal Luscon 29e11ee
   Id p, pp;
Michal Luscon 29e11ee
   Solvable *s, *ps;
Michal Luscon 29e11ee
   int first, i;
Michal Luscon 29e11ee
@@ -1818,11 +1819,11 @@ solver_addduprules(Solver *solv, Map *addedmap)
Michal Luscon 29e11ee
 	    break;
Michal Luscon 29e11ee
 	  if (!MAPTST(&solv->dupinvolvedmap, p))
Michal Luscon 29e11ee
 	    continue;
Michal Luscon 29e11ee
-	  if (solv->installed && ps->repo == solv->installed)
Michal Luscon 29e11ee
+	  if (installed && ps->repo == installed)
Michal Luscon 29e11ee
 	    {
Michal Luscon 29e11ee
 	      if (!solv->updatemap.size)
Michal Luscon 29e11ee
-		map_grow(&solv->updatemap, solv->installed->end - solv->installed->start);
Michal Luscon 29e11ee
-	      MAPSET(&solv->updatemap, p - solv->installed->start);
Michal Luscon 29e11ee
+		map_grow(&solv->updatemap, installed->end - installed->start);
Michal Luscon 29e11ee
+	      MAPSET(&solv->updatemap, p - installed->start);
Michal Luscon 29e11ee
 	      if (!MAPTST(&solv->dupmap, p))
Michal Luscon 29e11ee
 		{
Michal Luscon 29e11ee
 		  Id ip, ipp;
Michal Luscon 29e11ee
@@ -1835,12 +1836,12 @@ solver_addduprules(Solver *solv, Map *addedmap)
Michal Luscon 29e11ee
 		      if (is->evr == ps->evr && solvable_identical(ps, is))
Michal Luscon 29e11ee
 			break;
Michal Luscon 29e11ee
 		    }
Michal Luscon 29e11ee
-		  if (!ip && solv->dupmap_all && solv->keep_orphans)
Michal Luscon 29e11ee
+		  if (!ip && solv->keep_orphans)
Michal Luscon 29e11ee
 		    {
Michal Luscon 29e11ee
 		      /* is this an orphan we should keep? */
Michal Luscon 29e11ee
-		      Rule *r = solv->rules + solv->featurerules + (p - solv->installed->start);
Michal Luscon 29e11ee
+		      Rule *r = solv->rules + solv->featurerules + (p - installed->start);
Michal Luscon 29e11ee
 		      if (!r->p)
Michal Luscon 29e11ee
-		        r = solv->rules + solv->updaterules + (p - solv->installed->start);
Michal Luscon 29e11ee
+			r += solv->updaterules - solv->featurerules;
Michal Luscon 29e11ee
 		      if (r->p == p && !r->d)
Michal Luscon 29e11ee
 			ip = p;
Michal Luscon 29e11ee
 		    }
Michal Luscon 29e11ee
-- 
Michal Luscon 29e11ee
2.4.3
Michal Luscon 29e11ee