add Decision (solver result element) and testcase
authorKlaus Kaempf <kkaempf@suse.de>
Sun, 30 Dec 2007 16:58:01 +0000 (16:58 +0000)
committerKlaus Kaempf <kkaempf@suse.de>
Sun, 30 Dec 2007 16:58:01 +0000 (16:58 +0000)
src/solver.c
src/solver.h

index 3b919f6..f2aa512 100644 (file)
@@ -2622,23 +2622,20 @@ solver_next_solutionelement(Solver *solv, Id problem, Id solution, Id element, I
 }
 
 
-  
 /*
- * printdecisions
+ * create obsoletesmap from solver decisions
+ * required for decision handling
  */
-  
 
-void
-printdecisions(Solver *solv)
+Id *
+create_obsoletesmap(Solver *solv)
 {
   Pool *pool = solv->pool;
   Repo *installed = solv->installed;
-  Id p, *obsoletesmap;
+  Id p, *obsoletesmap = NULL;
   int i;
   Solvable *s;
 
-  POOL_DEBUG(SAT_DEBUG_SCHUBI, "----- Decisions -----\n");  
-  
   obsoletesmap = (Id *)xcalloc(pool->nsolvables, sizeof(Id));
   if (installed)
     {
@@ -2691,6 +2688,24 @@ printdecisions(Solver *solv)
              }
        }
     }
+  return obsoletesmap;
+}
+
+/*
+ * printdecisions
+ */
+  
+
+void
+printdecisions(Solver *solv)
+{
+  Pool *pool = solv->pool;
+  Repo *installed = solv->installed;
+  Id p, *obsoletesmap = create_obsoletesmap( solv );
+  int i;
+  Solvable *s;
+
+  POOL_DEBUG(SAT_DEBUG_SCHUBI, "----- Decisions -----\n");  
 
   /* print solvables to be erased */
 
index 4732a29..bb9960b 100644 (file)
@@ -145,6 +145,8 @@ extern Id solver_next_solutionelement(Solver *solv, Id problem, Id solution, Id
 extern Id solver_findproblemrule(Solver *solv, Id problem);
 extern SolverProbleminfo solver_problemruleinfo(Solver *solv, Queue *job, Id rid, Id *depp, Id *sourcep, Id *targetp);
 
+Id *create_obsoletesmap(Solver *solv);
+
 /* debug functions, do not use */
 void printdecisions(Solver *solv);
 void printsolutions(Solver *solv, Queue *job);