xbps_configure_packages: ignore internal xbps objects.

Fixes an assertion triggered by `xbps-reconfigure -a`.
This commit is contained in:
Juan RP 2015-10-31 15:03:26 +01:00
parent f896b17ba7
commit 1ed8551c08
2 changed files with 6 additions and 2 deletions

3
NEWS
View File

@ -1,5 +1,8 @@
xbps-0.50 (???): xbps-0.50 (???):
* libxbps: when configuring all packages ignore internal xbps objects of pkgdb.
Fixes an assertion with `xbps-reconfigure -a`.
* alternatives: really make relative symlinks this time. * alternatives: really make relative symlinks this time.
xbps-0.49 (2015-10-31): xbps-0.49 (2015-10-31):

View File

@ -1,5 +1,5 @@
/*- /*-
* Copyright (c) 2009-2014 Juan Romero Pardines. * Copyright (c) 2009-2015 Juan Romero Pardines.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -61,7 +61,8 @@ xbps_configure_packages(struct xbps_handle *xhp, xbps_array_t ignpkgs)
assert(iter); assert(iter);
while ((obj = xbps_object_iterator_next(iter))) { while ((obj = xbps_object_iterator_next(iter))) {
pkgd = xbps_dictionary_get_keysym(xhp->pkgdb, obj); pkgd = xbps_dictionary_get_keysym(xhp->pkgdb, obj);
xbps_dictionary_get_cstring_nocopy(pkgd, "pkgver", &pkgver); if (!xbps_dictionary_get_cstring_nocopy(pkgd, "pkgver", &pkgver))
continue;
if (xbps_array_count(ignpkgs)) { if (xbps_array_count(ignpkgs)) {
if ((xbps_match_string_in_array(ignpkgs, pkgver)) || if ((xbps_match_string_in_array(ignpkgs, pkgver)) ||
(xbps_match_pkgver_in_array(ignpkgs, pkgver))) { (xbps_match_pkgver_in_array(ignpkgs, pkgver))) {