
Dan Smith wrote:
# HG changeset patch # User Dan Smith <danms@us.ibm.com> # Date 1195505862 28800 # Node ID f2c751be5069df9eb23a8bdbaafd5d55b3fd24e9 # Parent 25497386647b6e757ed5c8893f2a4c648543829b [RFC] Change interface of cu_return_instance{,name}s to use instance lists instead of null-terminated arrays. These functions existed before we had instance lists, and need to be updated.
This will require another wide-sweeping (but trivial) change to libvirt-cim
Signed-off-by: Dan Smith <danms@us.ibm.com>
diff -r 25497386647b -r f2c751be5069 instance_util.c --- a/instance_util.c Mon Nov 19 08:00:42 2007 -0800 +++ b/instance_util.c Mon Nov 19 12:57:42 2007 -0800 @@ -24,15 +24,15 @@ #include "libcmpiutil.h"
unsigned int cu_return_instances(const CMPIResult *results, - CMPIInstance ** const list) + const struct inst_list *list) { unsigned int i;
if (list == NULL) return 0;
- for (i = 0; list[i] != NULL; i++) - CMReturnInstance(results, list[i]); + for (i = 0; i < list->cur; i++) + CMReturnInstance(results, list->list[i]);
return i; } @@ -54,19 +54,17 @@ bool cu_return_instance_name(const CMPIR }
unsigned int cu_return_instance_names(const CMPIResult *results, - CMPIInstance ** const list) + const struct inst_list *list) { unsigned int i; - unsigned int c = 0;
if (list == NULL) return 0;
- for (i = 0; list[i] != NULL; i++) - if (cu_return_instance_name(results, list[i])) - c++; + for (i = 0; i < list->cur; i++) + cu_return_instance_name(results, list->list[i]);
- return c; + return i; }
static bool _compare_data(const CMPIData *a, const CMPIData *b) diff -r 25497386647b -r f2c751be5069 libcmpiutil.h --- a/libcmpiutil.h Mon Nov 19 08:00:42 2007 -0800 +++ b/libcmpiutil.h Mon Nov 19 12:57:42 2007 -0800 @@ -139,15 +139,18 @@ int cu_get_u16_path(const CMPIObjectPath const char *key, uint16_t *target);
+/* Forward declaration */ +struct inst_list; + /** * Return a list of instances * - * @param list A NULL-terminated list of instances * @param results The result list to populate + * @param list A list of instances to return * @returns The number of instances returned */ unsigned int cu_return_instances(const CMPIResult *results, - CMPIInstance ** const list); + const struct inst_list *list);
/** * Return an instance object path @@ -163,13 +166,12 @@ bool cu_return_instance_name(const CMPIR /** * Return the object paths of a list of instances * - * @param list A NULL-terminated list of instances * @param results The result list to populate - * @param op The object path + * @param list A list of instances to return (names of) * @returns The number of instance names returned */ unsigned int cu_return_instance_names(const CMPIResult *results, - CMPIInstance ** const list); + const struct inst_list *list);
/** * Get a string property of an instance diff -r 25497386647b -r f2c751be5069 std_association.c --- a/std_association.c Mon Nov 19 08:00:42 2007 -0800 +++ b/std_association.c Mon Nov 19 12:57:42 2007 -0800 @@ -217,9 +217,9 @@ static CMPIStatus do_assoc(struct std_as }
if (names_only) - cu_return_instance_names(results, list.list); + cu_return_instance_names(results, &list); else - cu_return_instances(results, list.list); + cu_return_instances(results, &list);
out: inst_list_free(&list);
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
-- -Jay