diff options
author | ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2008-12-15 00:34:03 (EST) |
---|---|---|
committer | ticktock35 <ticktock35@e8e0d7a0-c8d9-11dd-a880-a1081c7ac358> | 2008-12-15 00:34:03 (EST) |
commit | 4ec6ca94f200ed52f2cc00ff740bae13d7fef6be (patch) | |
tree | 1ff395946ad0250880c76621da4b4db9723f08bb /libopkg/opkg_upgrade.c | |
parent | b06a66aaeddc129a3a8c08f0ac45be6d7f2c5199 (diff) |
opkg: using active list to list upgradeable pkgs
git-svn-id: http://opkg.googlecode.com/svn/trunk@177 e8e0d7a0-c8d9-11dd-a880-a1081c7ac358
Diffstat (limited to 'libopkg/opkg_upgrade.c')
-rw-r--r-- | libopkg/opkg_upgrade.c | 15 |
1 files changed, 7 insertions, 8 deletions
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; } |