diff options
author | Michael Schroeder <mls@suse.de> | 2013-01-11 13:54:53 +0100 |
---|---|---|
committer | Michael Schroeder <mls@suse.de> | 2013-01-11 13:54:53 +0100 |
commit | b746354f4cd0ef51a155241369de1f804f5f756c (patch) | |
tree | 00649aa23a4b9e84575bb26b6b309fe92add8ee1 /src/solverdebug.c | |
parent | 80cc562d125daa090c1dbdba7aa85e0860ba9b90 (diff) | |
download | libsolv-b746354f4cd0ef51a155241369de1f804f5f756c.tar.gz libsolv-b746354f4cd0ef51a155241369de1f804f5f756c.tar.bz2 libsolv-b746354f4cd0ef51a155241369de1f804f5f756c.zip |
support "pooljobs", fixed jobs set in the pool
Those are normally jobs like USERINSTALLED or NOOBSOLETES.
Diffstat (limited to 'src/solverdebug.c')
-rw-r--r-- | src/solverdebug.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/solverdebug.c b/src/solverdebug.c index 58785f7..666401f 100644 --- a/src/solverdebug.c +++ b/src/solverdebug.c @@ -656,9 +656,11 @@ solver_printsolution(Solver *solv, Id problem, Id solution) element = 0; while ((element = solver_next_solutionelement(solv, problem, solution, element, &p, &rp)) != 0) { - if (p == SOLVER_SOLUTION_JOB) + if (p == SOLVER_SOLUTION_JOB || p == SOLVER_SOLUTION_POOLJOB) { /* job, rp is index into job queue */ + if (p == SOLVER_SOLUTION_JOB) + rp += solv->pooljobcnt; how = solv->job.elements[rp - 1]; what = solv->job.elements[rp]; select = how & SOLVER_SELECTMASK; @@ -1042,10 +1044,13 @@ const char * solver_solutionelement2str(Solver *solv, Id p, Id rp) { Pool *pool = solv->pool; - if (p == SOLVER_SOLUTION_JOB) + if (p == SOLVER_SOLUTION_JOB || p == SOLVER_SOLUTION_POOLJOB) { - Id how = solv->job.elements[rp - 1]; - Id what = solv->job.elements[rp]; + Id how, what; + if (p == SOLVER_SOLUTION_JOB) + rp += solv->pooljobcnt; + how = solv->job.elements[rp - 1]; + what = solv->job.elements[rp]; return pool_tmpjoin(pool, "do not ask to ", pool_job2str(pool, how, what, 0), 0); } else if (p == SOLVER_SOLUTION_INFARCH) |