PackageKit/pk-catalog-parameter-fix.patch
Richard Hughes 6b9d3af14a - Fix an error where we don't check for existing packages in the catalog
code properly. Also fixes the self tests.
2008-09-10 16:31:58 +00:00

33 lines
1.5 KiB
Diff

commit 918dd9d10ef18725776c6a55fe9cf03ec18db047
Author: Richard Hughes <richard@hughsie.com>
Date: Wed Sep 10 17:24:24 2008 +0100
bugfix: use a bitfield when searching for files in the catalog else we might return the wrong results
diff --git a/libpackagekit/pk-catalog.c b/libpackagekit/pk-catalog.c
index 3072ad1..fcd14a2 100644
--- a/libpackagekit/pk-catalog.c
+++ b/libpackagekit/pk-catalog.c
@@ -174,12 +174,18 @@ pk_catalog_process_type (PkCatalog *catalog)
/* do the actions */
if (mode == PK_CATALOG_PROGRESS_PACKAGES) {
packages = pk_package_ids_from_id (package);
- ret = pk_client_resolve (catalog->priv->client, PK_FILTER_ENUM_NOT_INSTALLED, packages, &error);
+ ret = pk_client_resolve (catalog->priv->client,
+ pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
+ packages, &error);
g_strfreev (packages);
} else if (mode == PK_CATALOG_PROGRESS_FILES) {
- ret = pk_client_search_file (catalog->priv->client, PK_FILTER_ENUM_NOT_INSTALLED, package, &error);
+ ret = pk_client_search_file (catalog->priv->client,
+ pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
+ package, &error);
} else if (mode == PK_CATALOG_PROGRESS_PROVIDES) {
- ret = pk_client_what_provides (catalog->priv->client, PK_FILTER_ENUM_NOT_INSTALLED, 0, package, &error);
+ ret = pk_client_what_provides (catalog->priv->client,
+ pk_bitfield_value (PK_FILTER_ENUM_NOT_INSTALLED),
+ PK_PROVIDES_ENUM_ANY, package, &error);
}
if (!ret) {
egg_warning ("method failed: %s", error->message);