summaryrefslogtreecommitdiffstats
path: root/lib/libalpm
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-09-19 21:27:21 +0200
committerDan McGee <dan@archlinux.org>2011-09-20 17:23:10 +0200
commit37961648486ca44a92eefe454cd6f1f091c4fe6d (patch)
treec86240b85ecb17d183090284f8da1954addb571c /lib/libalpm
parent95119d46d486168e7fddd5e8eece93be8e9ca719 (diff)
downloadpacman-37961648486ca44a92eefe454cd6f1f091c4fe6d.tar.gz
pacman-37961648486ca44a92eefe454cd6f1f091c4fe6d.tar.xz
Access db->pkgcache directly in db_free_pkgcache()
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@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r--lib/libalpm/db.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 765448df..7708d18f 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);