]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Fix solver_rule2solvable implementation
authorMichael Schroeder <mls@suse.de>
Fri, 25 Nov 2022 14:01:39 +0000 (15:01 +0100)
committerMichael Schroeder <mls@suse.de>
Fri, 25 Nov 2022 14:01:39 +0000 (15:01 +0100)
It should return a solvable id.

src/rules.c

index ec02d836073cbc2f1e86fb2b92a7257b16659090..41865cb602d92161173b5688dd2cc5b226dd3bc3 100644 (file)
@@ -3210,10 +3210,10 @@ solver_rule2job(Solver *solv, Id rid, Id *whatp)
 Id
 solver_rule2solvable(Solver *solv, Id rid)
 {
-  if (rid >= solv->updaterules && rid < solv->updaterules_end)
-    return rid - solv->updaterules;
-  if (rid >= solv->featurerules && rid < solv->featurerules_end)
-    return rid - solv->featurerules;
+  if (rid >= solv->updaterules && rid < solv->updaterules_end && solv->installed)
+    return solv->installed->start + (rid - solv->updaterules);
+  if (rid >= solv->featurerules && rid < solv->featurerules_end && solv->installed)
+    return solv->installed->start + (rid - solv->featurerules);
   return 0;
 }