[pacman-dev] [PATCH 5/7] Access db->pkgcache directly in db_free_pkgcache()

Dan McGee dan at archlinux.org
Mon Sep 19 16:13:15 EDT 2011


We shouldn't be going through the accessor that does a bunch of
unnecessary legwork, including potentially loading the pkgcache right
before we free it.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 lib/libalpm/db.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 765448d..7708d18 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -508,9 +508,11 @@ void _alpm_db_free_pkgcache(alpm_db_t *db)
 	_alpm_log(db->handle, ALPM_LOG_DEBUG,
 			"freeing package cache for repository '%s'\n", db->treename);
 
-	alpm_list_free_inner(_alpm_db_get_pkgcache(db),
+	if(db->pkgcache) {
+		alpm_list_free_inner(db->pkgcache->list,
 				(alpm_list_fn_free)_alpm_pkg_free);
-	_alpm_pkghash_free(db->pkgcache);
+		_alpm_pkghash_free(db->pkgcache);
+	}
 	db->status &= ~DB_STATUS_PKGCACHE;
 
 	free_groupcache(db);
-- 
1.7.6.1



More information about the pacman-dev mailing list