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 a658eab..b93b136 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 459ee57..facd17a 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))