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 <[email protected]>
---
 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


Reply via email to