[pacman-dev] [PATCH 9/9] Remove alpm_db_get_url()

Dan McGee dan at archlinux.org
Wed Jun 8 03:51:52 EDT 2011


This method is old, it doesn't adequately check for a NULL server list,
and can easily be done using better API method we provide these days.

Signed-off-by: Dan McGee <dan at archlinux.org>
---
 lib/libalpm/alpm.h |    6 ------
 lib/libalpm/db.c   |   13 -------------
 src/pacman/util.c  |   17 +++++++----------
 3 files changed, 7 insertions(+), 29 deletions(-)

diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 329ffd7..37bea6d 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -301,12 +301,6 @@ int alpm_db_unregister_all(pmhandle_t *handle);
  */
 const char *alpm_db_get_name(const pmdb_t *db);
 
-/** Get a download URL for the package database.
- * @param db pointer to the package database
- * @return a fully-specified download URL, NULL on error
- */
-const char *alpm_db_get_url(const pmdb_t *db);
-
 /** Check the validity of a database.
  * This is most useful for sync databases and verifying signature status.
  * If invalid, the handle error code will be set accordingly.
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index e740acb..4a2cbab 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -232,19 +232,6 @@ const char SYMEXPORT *alpm_db_get_name(const pmdb_t *db)
 	return db->treename;
 }
 
-/** Get a download URL for the package database. */
-const char SYMEXPORT *alpm_db_get_url(const pmdb_t *db)
-{
-	char *url;
-
-	ASSERT(db != NULL, return NULL);
-	ASSERT(db->servers != NULL, return NULL);
-
-	url = (char *)db->servers->data;
-
-	return url;
-}
-
 /** Check the validity of a database. */
 int SYMEXPORT alpm_db_valid(pmdb_t *db)
 {
diff --git a/src/pacman/util.c b/src/pacman/util.c
index ce305a4..21e3ad8 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -804,22 +804,19 @@ static off_t pkg_get_size(pmpkg_t *pkg)
 
 static char *pkg_get_location(pmpkg_t *pkg)
 {
-	pmdb_t *db;
-	const char *dburl;
-	char *string;
+	alpm_list_t *servers;
+	char *string = NULL;
 	switch(config->op) {
 		case PM_OP_SYNC:
-			db = alpm_pkg_get_db(pkg);
-			dburl = alpm_db_get_url(db);
-			if(dburl) {
-				char *pkgurl = NULL;
-				pm_asprintf(&pkgurl, "%s/%s", dburl, alpm_pkg_get_filename(pkg));
-				return pkgurl;
+			servers = alpm_db_get_servers(alpm_pkg_get_db(pkg));
+			if(servers) {
+				pm_asprintf(&string, "%s/%s", alpm_list_getdata(servers),
+						alpm_pkg_get_filename(pkg));
+				return string;
 			}
 		case PM_OP_UPGRADE:
 			return strdup(alpm_pkg_get_filename(pkg));
 		default:
-			string = NULL;
 			pm_asprintf(&string, "%s-%s", alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg));
 			return string;
 	}
-- 
1.7.5.2



More information about the pacman-dev mailing list