[Rpm-maint] [PATCH] Removed unnecessary rpmdbFreeIterator call ....

Rakesh Pandit rakesh.pandit at gmail.com
Fri Mar 13 06:42:37 UTC 2009


I will factoring rpmgi.c specially rpmgiNext a bit and ripping not
used parts. Aim being to ease it enough so that progress about
"Conflict Updating thingy", Callback methods , manifest fixs can be
made at later stage.


- Removed unnecessary rpmdbFreeIterator call as rpmgiInitFilter
already calls when NOT RPMRC_OK
- Rearranged bit to keep the logic sane.

Patch: http://rakesh.fedorapeople.org/rpm/0004--Removed-unnecessary-rpmdbFreeIterator-call-as-rpmg.patch

-- 
rakesh

>From 7cfac00225d9fdf209cb4f5dd1acc03c84be14fb Mon Sep 17 00:00:00 2001
From: Rakesh Pandit <rakesh at fedoraproject.org>
Date: Fri, 13 Mar 2009 11:55:03 +0530
Subject: [PATCH] - Removed unnecessary rpmdbFreeIterator call as
rpmgiInitFilter already calls when NOT RPMRC_OK
 - Rearranged bit to keep the logic sane.

---
 lib/rpmgi.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/lib/rpmgi.c b/lib/rpmgi.c
index cfe4367..2d4d0b4 100644
--- a/lib/rpmgi.c
+++ b/lib/rpmgi.c
@@ -489,11 +489,8 @@ rpmRC rpmgiNext(rpmgi gi)
     case RPMDBI_PACKAGES:
 	if (!gi->active) {
 	    rpmrc = rpmgiInitFilter(gi);
-	    if (rpmrc != RPMRC_OK) {
-		gi->mi = rpmdbFreeIterator(gi->mi);	/* XXX unnecessary */
-		goto enditer;
-	    }
-	    rpmrc = RPMRC_NOTFOUND;	/* XXX hack */
+	    if (rpmrc != RPMRC_OK)
+	        goto enditer;
 	    gi->active = 1;
 	}
 	if (gi->mi != NULL) {	/* XXX unnecessary */
@@ -505,7 +502,8 @@ rpmRC rpmgiNext(rpmgi gi)
 		gi->hdrPath = rpmExpand("rpmdb h# ", hnum, NULL);
 		rpmrc = RPMRC_OK;
 		/* XXX header reference held by iterator, so no headerFree */
-	    }
+	    } else
+	        rpmrc = RPMRC_NOTFOUND;
 	}
 	if (rpmrc != RPMRC_OK) {
 	    gi->mi = rpmdbFreeIterator(gi->mi);
-- 
1.6.0.6


More information about the Rpm-maint mailing list