]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
Make get_decision also return a decision for unrelated solvables
authorMichael Schroeder <mls@suse.de>
Tue, 13 Dec 2022 09:01:35 +0000 (10:01 +0100)
committerMichael Schroeder <mls@suse.de>
Tue, 13 Dec 2022 09:01:35 +0000 (10:01 +0100)
Consistency with get_decisionlist().

bindings/solv.i

index de53ab83d774a7d1ae4d0318c55b06599b5642ba..5d82832b18c051d391ae661dd667128a85f36646 100644 (file)
@@ -3733,13 +3733,14 @@ returnself(matchsolvable)
     return solver_create_transaction($self);
   }
 
+  /* legacy, use get_decision */
   int describe_decision(XSolvable *s, XRule **OUTPUT) {
     Id ruleid;
     int reason = solver_describe_decision($self, s->id, &ruleid);
     *OUTPUT = new_XRule($self, ruleid);
     return reason;
   }
-
+  /* legacy, use get_decision and the info/allinfos method */
   %newobject describe_weakdep_decision_raw;
   Queue describe_weakdep_decision_raw(XSolvable *s) {
     Queue q;
@@ -3861,13 +3862,10 @@ rb_eval_string(
 
   %newobject get_decision;
   Decision *get_decision(XSolvable *s) {
-    Id info, p;
-    int reason;
+    Id info;
     int lvl = solver_get_decisionlevel($self, s->id);
-    if (!lvl)
-      return 0;
-    p = lvl > 0 ? s->id : -s->id;
-    reason = solver_describe_decision($self, p, &info);
+    Id p = lvl > 0 ? s->id : -s->id;
+    int reason = solver_describe_decision($self, p, &info);
     return new_Decision($self, p, reason, info);
   }