Use rpmpsMerge() for collecting element problems in rpmtsProblems()
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 26 Mar 2010 07:21:06 +0000 (09:21 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Fri, 26 Mar 2010 07:21:06 +0000 (09:21 +0200)
lib/rpmts.c

index 970a5d3..d7d7e35 100644 (file)
@@ -469,18 +469,10 @@ rpmps rpmtsProblems(rpmts ts)
     rpmtsi pi = rpmtsiInit(ts);
     rpmte p;
 
-    /* XXX TODO this cries for rpmpsMerge() */
     while ((p = rpmtsiNext(pi, 0)) != NULL) {
        rpmps teprobs = rpmteProblems(p);
-       if (teprobs) {
-           rpmpsi psi = rpmpsInitIterator(teprobs);
-           while (rpmpsNextIterator(psi) >= 0) {
-               rpmProblem prob = rpmpsGetProblem(psi);
-               rpmpsAppendProblem(ps, prob);
-           }
-           rpmpsFreeIterator(psi);
-           rpmpsFree(teprobs);
-       }
+       rpmpsMerge(ps, teprobs);
+       rpmpsFree(teprobs);
     }
     pi = rpmtsiFree(pi);
     return ps;