]> git.ipfire.org Git - thirdparty/libsolv.git/commitdiff
solv_parse_sig: clear return values at the beginning
authorMichael Schroeder <mls@suse.de>
Fri, 23 Aug 2013 16:06:04 +0000 (18:06 +0200)
committerMichael Schroeder <mls@suse.de>
Fri, 23 Aug 2013 16:06:04 +0000 (18:06 +0200)
examples/pysolv
ext/repo_pubkey.c

index a658eabc8f75a12a29bd33bbb6347e30c427fb4a..b93b1362f87e2e3a58c08877b42d1184c807ca7e 100755 (executable)
@@ -757,6 +757,7 @@ for job in jobs:
         job.how |= solv.Job.SOLVER_CLEANDEPS
 
 #pool.set_debuglevel(2)
+pool.set_debuglevel(3)
 solver = pool.Solver()
 solver.set_flag(solv.Solver.SOLVER_FLAG_SPLITPROVIDES, 1);
 if cmd == 'erase':
@@ -798,6 +799,15 @@ while True:
                     
 # no problems, show transaction
 trans = solver.transaction()
+
+for p in trans.newsolvables():
+    (reason, rule) = solver.describe_decision(p)
+    print "package", p
+    print "reason", reason
+    print "rule", rule
+    if rule:
+        print rule.info().problemstr()
+
 del solver
 if trans.isempty():
     print "Nothing to do."
index 459ee5702bccf92200146c3aee556b58b5e6e0f8..facd17ab59dd207e1b47b3c92d20d41b663f378e 100644 (file)
@@ -846,6 +846,11 @@ solv_parse_sig(FILE *fp, unsigned char **sigpkgp, int *sigpkglp, char *keyidstr)
   struct pgpsig pgpsig;
   Id htype;
 
+  if (sigpkgp)
+    {
+      *sigpkgp = 0;
+      *sigpkglp = 0;
+    }
   if ((sig = (unsigned char *)solv_slurp(fp, &sigl)) == 0)
     return 0;
   if (!is_sig_packet(sig, sigl))