Most of the hash iterators need to modify either payload of data args. The const annotation prevents this. * src/util/hash.h, src/util/hash.c: Remove const-ness from virHashForEach/Iterator * src/xen/xm_internal.c: Remove bogus casts --- src/util/hash.c | 2 +- src/util/hash.h | 4 ++-- src/xen/xm_internal.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/util/hash.c b/src/util/hash.c index 42a28d1..40df2c6 100644 --- a/src/util/hash.c +++ b/src/util/hash.c @@ -482,7 +482,7 @@ virHashRemoveEntry(virHashTablePtr table, const char *name, * * Returns number of items iterated over upon completion, -1 on failure */ -int virHashForEach(virHashTablePtr table, virHashIterator iter, const void *data) { +int virHashForEach(virHashTablePtr table, virHashIterator iter, void *data) { int i, count = 0; if (table == NULL || iter == NULL) diff --git a/src/util/hash.h b/src/util/hash.h index 7778909..a163f10 100644 --- a/src/util/hash.h +++ b/src/util/hash.h @@ -38,7 +38,7 @@ typedef void (*virHashDeallocator) (void *payload, const char *name); * * Callback to process a hash entry during iteration */ -typedef void (*virHashIterator) (const void *payload, const char *name, const void *data); +typedef void (*virHashIterator) (void *payload, const char *name, void *data); /** * virHashSearcher * @payload: the data in the hash @@ -82,7 +82,7 @@ void *virHashLookup(virHashTablePtr table, const char *name); /* * Iterators */ -int virHashForEach(virHashTablePtr table, virHashIterator iter, const void *data); +int virHashForEach(virHashTablePtr table, virHashIterator iter, void *data); int virHashRemoveSet(virHashTablePtr table, virHashSearcher iter, virHashDeallocator f, const void *data); void *virHashSearch(virHashTablePtr table, virHashSearcher iter, const void *data); diff --git a/src/xen/xm_internal.c b/src/xen/xm_internal.c index ebbaae8..732b2d3 100644 --- a/src/xen/xm_internal.c +++ b/src/xen/xm_internal.c @@ -2750,8 +2750,8 @@ struct xenXMListIteratorContext { char ** names; }; -static void xenXMListIterator(const void *payload ATTRIBUTE_UNUSED, const char *name, const void *data) { - struct xenXMListIteratorContext *ctx = (struct xenXMListIteratorContext *)data; +static void xenXMListIterator(void *payload ATTRIBUTE_UNUSED, const char *name, void *data) { + struct xenXMListIteratorContext *ctx = data; virDomainPtr dom = NULL; if (ctx->count == ctx->max) -- 1.6.2.5 -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list