libxbps: always force pkgpattern match in virtualpkgs from conf.
This commit is contained in:
parent
19664f624a
commit
c0ecb93410
@ -127,8 +127,11 @@ find_virtualpkg_user_in_conf(const char *vpkg, bool bypattern)
|
|||||||
char *vpkgname = NULL;
|
char *vpkgname = NULL;
|
||||||
|
|
||||||
xhp = xbps_handle_get();
|
xhp = xbps_handle_get();
|
||||||
if (prop_object_type(xhp->virtualpkgs_array) != PROP_TYPE_ARRAY)
|
if (prop_object_type(xhp->virtualpkgs_array) != PROP_TYPE_ARRAY) {
|
||||||
|
xbps_dbg_printf("%s: invalid virtualpkgs_array "
|
||||||
|
"type\n", __func__);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if ((iter = prop_array_iterator(xhp->virtualpkgs_array)) == NULL)
|
if ((iter = prop_array_iterator(xhp->virtualpkgs_array)) == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
@ -170,7 +173,7 @@ find_virtualpkg_user_in_array(prop_array_t array,
|
|||||||
{
|
{
|
||||||
prop_object_t obj = NULL;
|
prop_object_t obj = NULL;
|
||||||
prop_object_iterator_t iter;
|
prop_object_iterator_t iter;
|
||||||
const char *pkgver, *virtualpkg;
|
const char *virtualpkg;
|
||||||
|
|
||||||
assert(prop_object_type(array) == PROP_TYPE_ARRAY);
|
assert(prop_object_type(array) == PROP_TYPE_ARRAY);
|
||||||
assert(str != NULL);
|
assert(str != NULL);
|
||||||
@ -184,9 +187,11 @@ find_virtualpkg_user_in_array(prop_array_t array,
|
|||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
while ((obj = prop_object_iterator_next(iter))) {
|
while ((obj = prop_object_iterator_next(iter))) {
|
||||||
prop_dictionary_get_cstring_nocopy(obj,
|
/*
|
||||||
"pkgver", &pkgver);
|
* force pattern match because virtualpkg is
|
||||||
if (xbps_pkgpattern_match(pkgver, virtualpkg))
|
* always a pkgpattern.
|
||||||
|
*/
|
||||||
|
if (xbps_match_virtual_pkg_in_dict(obj, virtualpkg, true))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
prop_object_iterator_release(iter);
|
prop_object_iterator_release(iter);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user