32 #include "xbps_api_impl.h"
36 prop_array_t unsorted,
37 prop_dictionary_t pkg_repod)
39 prop_array_t pkg_cflicts, trans_cflicts;
40 prop_dictionary_t pkgd;
42 prop_object_iterator_t iter;
43 const char *cfpkg, *repopkgver, *pkgver;
46 pkg_cflicts = prop_dictionary_get(pkg_repod,
"conflicts");
47 if (pkg_cflicts == NULL || prop_array_count(pkg_cflicts) == 0)
50 trans_cflicts = prop_dictionary_get(xhp->
transd,
"conflicts");
51 prop_dictionary_get_cstring_nocopy(pkg_repod,
"pkgver", &repopkgver);
53 iter = prop_array_iterator(trans_cflicts);
55 while ((obj = prop_object_iterator_next(iter))) {
56 cfpkg = prop_string_cstring_nocopy(obj);
62 prop_dictionary_get_cstring_nocopy(pkgd,
65 "installed pkg %s", repopkgver, pkgver);
66 prop_array_add_cstring(trans_cflicts, buf);
73 if ((pkgd = xbps_find_pkg_in_array(unsorted, cfpkg)) ||
74 (pkgd = xbps_find_virtualpkg_in_array(xhp, unsorted, cfpkg))) {
75 prop_dictionary_get_cstring_nocopy(pkgd,
78 "%s in transaction", repopkgver, pkgver);
79 prop_array_add_cstring(trans_cflicts, buf);
84 prop_object_iterator_release(iter);