pkgdb: some fixes for e545429fa1.

This commit is contained in:
Juan RP 2012-10-26 11:05:17 +02:00
parent 4023c8115b
commit e3d876ade0

View File

@ -92,15 +92,17 @@ xbps_pkgdb_update(struct xbps_handle *xhp, bool flush)
if (xhp->pkgdb && flush) {
pkgdb_storage = prop_array_internalize_from_zfile(plist);
assert(pkgdb_storage);
if (!prop_array_equals(xhp->pkgdb, pkgdb_storage)) {
if (pkgdb_storage == NULL ||
!prop_array_equals(xhp->pkgdb, pkgdb_storage)) {
/* flush dictionary to storage */
if (!prop_array_externalize_to_file(xhp->pkgdb, plist)) {
free(plist);
return errno;
}
}
prop_object_release(pkgdb_storage);
if (pkgdb_storage)
prop_object_release(pkgdb_storage);
prop_object_release(xhp->pkgdb);
xhp->pkgdb = NULL;
cached_rv = 0;