From 3f5d1e332e56b7011c47df48c1c5a333b2f35912 Mon Sep 17 00:00:00 2001 From: Panu Matilainen Date: Tue, 30 Oct 2007 16:48:38 +0200 Subject: [PATCH] Add rpmtsCleanProblems() method for rpmgi needs --- lib/rpmgi.c | 2 +- lib/rpmts.c | 9 ++++++++- lib/rpmts.h | 6 ++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/rpmgi.c b/lib/rpmgi.c index bf63f2c..633e56b 100644 --- a/lib/rpmgi.c +++ b/lib/rpmgi.c @@ -603,7 +603,7 @@ enditer: } ps = rpmpsFree(ps); - ts->probs = rpmpsFree(ts->probs); /* XXX hackery */ + rpmtsCleanProblems(ts); xx = rpmtsOrder(ts); diff --git a/lib/rpmts.c b/lib/rpmts.c index 79e87af..8e5eba7 100644 --- a/lib/rpmts.c +++ b/lib/rpmts.c @@ -848,6 +848,13 @@ rpmps rpmtsProblems(rpmts ts) return ps; } +void rpmtsCleanProblems(rpmts ts) +{ + if (ts && ts->probs) { + ts->probs = rpmpsFree(ts->probs); + } +} + void rpmtsCleanDig(rpmts ts) { ts->sig = headerFreeData(ts->sig, ts->sigtype); @@ -873,7 +880,7 @@ void rpmtsClean(rpmts ts) ts->suggests = _free(ts->suggests); ts->nsuggests = 0; - ts->probs = rpmpsFree(ts->probs); + rpmtsCleanProblems(ts); rpmtsCleanDig(ts); } diff --git a/lib/rpmts.h b/lib/rpmts.h index bd86210..4a4108c 100644 --- a/lib/rpmts.h +++ b/lib/rpmts.h @@ -451,6 +451,12 @@ void rpmtsSetType(rpmts ts, rpmtsType type); */ rpmps rpmtsProblems(rpmts ts); +/** + * Clean current transaction problem set. + * @param ts transaction set + */ +void rpmtsCleanProblems(rpmts ts); + /** \ingroup rpmts * Free signature verification data. * @param ts transaction set -- 2.7.4