summaryrefslogtreecommitdiffstats
path: root/lib/libalpm/package.c
diff options
context:
space:
mode:
authorNagy Gabor <ngaba@bibl.u-szeged.hu>2009-06-07 14:30:11 +0200
committerDan McGee <dan@archlinux.org>2009-06-07 22:11:16 +0200
commit19b8b638851713da64dd2aa7ff31e911ffe925cd (patch)
tree20ca058a5f6b1ffab444b0c09e98a85d16f09455 /lib/libalpm/package.c
parente61ab1536f4b198ac5c62cf68d706d93bc6481be (diff)
downloadpacman-19b8b638851713da64dd2aa7ff31e911ffe925cd.tar.gz
pacman-19b8b638851713da64dd2aa7ff31e911ffe925cd.tar.xz
Introduce _alpm_pkg_free_trans()
The main purpose of this function to make our code more readable. It frees transaction specific fields of pmpkg_t. (It is used when a package is removed from the target list.) Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/package.c')
-rw-r--r--lib/libalpm/package.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index b63b5ec0..8e41456e 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -857,6 +857,19 @@ void _alpm_pkg_free(pmpkg_t *pkg)
FREE(pkg);
}
+/* Free transaction specific fields */
+void _alpm_pkg_free_trans(pmpkg_t *pkg)
+{
+ ALPM_LOG_FUNC;
+
+ if(pkg == NULL) {
+ return;
+ }
+
+ alpm_list_free(pkg->removes);
+ pkg->removes = NULL;
+}
+
/* Is spkg an upgrade for locapkg? */
int _alpm_pkg_compare_versions(pmpkg_t *spkg, pmpkg_t *localpkg)
{