xbps_find_orphan_packages: use xbps_prepare_regpkgdb_dict().

--HG--
extra : convert_revision : 5c7b61ade09df674256ef9fb8f3b6d3e8d962ab3
This commit is contained in:
Juan RP 2009-08-08 15:19:47 +02:00
parent c48c9c9a22
commit 9affd1491a

View file

@ -103,28 +103,14 @@ xbps_find_orphan_packages(void)
prop_object_t obj; prop_object_t obj;
prop_object_iterator_t iter; prop_object_iterator_t iter;
struct orphan orphan; struct orphan orphan;
const char *rootdir;
char *plist;
int rv = 0; int rv = 0;
rootdir = xbps_get_rootdir(); if ((dict = xbps_prepare_regpkgdb_dict()) == NULL)
plist = xbps_xasprintf("%s/%s/%s", rootdir,
XBPS_META_PATH, XBPS_REGPKGDB);
if (plist == NULL)
return NULL; return NULL;
dict = prop_dictionary_internalize_from_file(plist);
if (dict == NULL) {
free(plist);
return NULL;
}
free(plist);
orphan.array = prop_array_create(); orphan.array = prop_array_create();
if (orphan.array == NULL) { if (orphan.array == NULL)
prop_object_release(dict);
return NULL; return NULL;
}
/* /*
* First look for direct orphan packages, i.e the ones * First look for direct orphan packages, i.e the ones
@ -133,7 +119,6 @@ xbps_find_orphan_packages(void)
rv = xbps_callback_array_iter_in_dict(dict, "packages", rv = xbps_callback_array_iter_in_dict(dict, "packages",
find_orphan_pkg, (void *)&orphan); find_orphan_pkg, (void *)&orphan);
if (rv != 0) { if (rv != 0) {
prop_object_release(dict);
prop_object_release(orphan.array); prop_object_release(orphan.array);
return NULL; return NULL;
} }
@ -144,7 +129,6 @@ xbps_find_orphan_packages(void)
*/ */
iter = prop_array_iterator(orphan.array); iter = prop_array_iterator(orphan.array);
if (iter == NULL) { if (iter == NULL) {
prop_object_release(dict);
prop_object_release(orphan.array); prop_object_release(orphan.array);
return NULL; return NULL;
} }
@ -158,13 +142,11 @@ xbps_find_orphan_packages(void)
find_indirect_orphan_pkg, (void *)&orphan); find_indirect_orphan_pkg, (void *)&orphan);
if (rv != 0) { if (rv != 0) {
prop_object_iterator_release(iter); prop_object_iterator_release(iter);
prop_object_release(dict);
prop_object_release(orphan.array); prop_object_release(orphan.array);
return NULL; return NULL;
} }
} }
prop_object_iterator_release(iter); prop_object_iterator_release(iter);
prop_object_release(dict);
return orphan.array; return orphan.array;
} }