[pacman-dev] [PATCH 07/10] Remove global handle from diskspace.c

Dan McGee dan at archlinux.org
Fri Jun 3 14:21:45 EDT 2011


Signed-off-by: Dan McGee <dan at archlinux.org>
---
 lib/libalpm/diskspace.c |   22 ++++++++++------------
 lib/libalpm/diskspace.h |    2 +-
 lib/libalpm/sync.c      |    2 +-
 3 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/lib/libalpm/diskspace.c b/lib/libalpm/diskspace.c
index f864518..c6c0b98 100644
--- a/lib/libalpm/diskspace.c
+++ b/lib/libalpm/diskspace.c
@@ -51,9 +51,6 @@
 #include "trans.h"
 #include "handle.h"
 
-/* global handle variable */
-extern pmhandle_t *handle;
-
 static int mount_point_cmp(const void *p1, const void *p2)
 {
 	const alpm_mountpoint_t *mp1 = p1;
@@ -151,8 +148,8 @@ static alpm_mountpoint_t *match_mount_point(const alpm_list_t *mount_points,
 	return NULL;
 }
 
-static int calculate_removed_size(const alpm_list_t *mount_points,
-		pmpkg_t *pkg)
+static int calculate_removed_size(pmhandle_t *handle,
+		const alpm_list_t *mount_points, pmpkg_t *pkg)
 {
 	alpm_list_t *file;
 
@@ -188,8 +185,8 @@ static int calculate_removed_size(const alpm_list_t *mount_points,
 	return 0;
 }
 
-static int calculate_installed_size(const alpm_list_t *mount_points,
-		pmpkg_t *pkg)
+static int calculate_installed_size(pmhandle_t *handle,
+		const alpm_list_t *mount_points, pmpkg_t *pkg)
 {
 	int ret=0;
 	struct archive *archive;
@@ -260,13 +257,14 @@ cleanup:
 	return ret;
 }
 
-int _alpm_check_diskspace(pmtrans_t *trans, pmdb_t *db_local)
+int _alpm_check_diskspace(pmhandle_t *handle)
 {
 	alpm_list_t *mount_points, *i;
 	alpm_mountpoint_t *root_mp;
 	size_t replaces = 0, current = 0, numtargs;
 	int abort = 0;
 	alpm_list_t *targ;
+	pmtrans_t *trans = handle->trans;
 
 	numtargs = alpm_list_count(trans->add);
 	mount_points = mount_point_list();
@@ -291,7 +289,7 @@ int _alpm_check_diskspace(pmtrans_t *trans, pmdb_t *db_local)
 					numtargs, current);
 
 			local_pkg = targ->data;
-			calculate_removed_size(mount_points, local_pkg);
+			calculate_removed_size(handle, mount_points, local_pkg);
 		}
 	}
 
@@ -303,11 +301,11 @@ int _alpm_check_diskspace(pmtrans_t *trans, pmdb_t *db_local)
 
 		pkg = targ->data;
 		/* is this package already installed? */
-		local_pkg = _alpm_db_get_pkgfromcache(db_local, pkg->name);
+		local_pkg = _alpm_db_get_pkgfromcache(handle->db_local, pkg->name);
 		if(local_pkg) {
-			calculate_removed_size(mount_points, local_pkg);
+			calculate_removed_size(handle, mount_points, local_pkg);
 		}
-		calculate_installed_size(mount_points, pkg);
+		calculate_installed_size(handle, mount_points, pkg);
 
 		for(i = mount_points; i; i = alpm_list_next(i)) {
 			alpm_mountpoint_t *data = i->data;
diff --git a/lib/libalpm/diskspace.h b/lib/libalpm/diskspace.h
index 2894a0c..28aca7e 100644
--- a/lib/libalpm/diskspace.h
+++ b/lib/libalpm/diskspace.h
@@ -46,7 +46,7 @@ typedef struct __alpm_mountpoint_t {
 	FSSTATSTYPE fsp;
 } alpm_mountpoint_t;
 
-int _alpm_check_diskspace(pmtrans_t *trans, pmdb_t *db_local);
+int _alpm_check_diskspace(pmhandle_t *handle);
 
 #endif /* _ALPM_DISKSPACE_H */
 
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 8390a2c..32060d0 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -935,7 +935,7 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
 		EVENT(trans, PM_TRANS_EVT_DISKSPACE_START, NULL, NULL);
 
 		_alpm_log(PM_LOG_DEBUG, "checking available disk space\n");
-		if(_alpm_check_diskspace(trans, handle->db_local) == -1) {
+		if(_alpm_check_diskspace(handle) == -1) {
 			_alpm_log(PM_LOG_ERROR, "%s\n", _("not enough free disk space"));
 			return -1;
 		}
-- 
1.7.5.2



More information about the pacman-dev mailing list