From 4ec6ca94f200ed52f2cc00ff740bae13d7fef6be Mon Sep 17 00:00:00 2001 From: ticktock35 Date: Mon, 15 Dec 2008 00:34:03 -0500 Subject: opkg: using active list to list upgradeable pkgs git-svn-id: http://opkg.googlecode.com/svn/trunk@177 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358 --- (limited to 'libopkg/opkg_upgrade.c') diff --git a/libopkg/opkg_upgrade.c b/libopkg/opkg_upgrade.c index d014979..a837f32 100644 --- a/libopkg/opkg_upgrade.c +++ b/libopkg/opkg_upgrade.c @@ -78,17 +78,15 @@ int opkg_upgrade_pkg(opkg_conf_t *conf, pkg_t *old) return opkg_install_pkg(conf, new,1); } - - -pkg_vec_t *opkg_upgrade_all_list_get(opkg_conf_t *conf) { - pkg_vec_t *all, *ans; +struct active_list * prepare_upgrade_list (opkg_conf_t *conf) { + pkg_vec_t *all; + struct active_list * head = active_list_head_new(); int i; /* ensure all data is valid */ pkg_info_preinstall_check (conf); all = pkg_vec_alloc (); - ans = pkg_vec_alloc (); pkg_hash_fetch_all_installed (&conf->pkg_hash, all); for (i = 0; i < all->len; i++) { @@ -103,9 +101,10 @@ pkg_vec_t *opkg_upgrade_all_list_get(opkg_conf_t *conf) { cmp = pkg_compare_versions(old, new); - if ( cmp < 0 ) - pkg_vec_insert(ans, old); + if ( cmp < 0 ) { + active_list_add(head, &old->list); + } } pkg_vec_free (all); - return ans; + return head; } -- cgit v0.9.1