Hi,
On Tue, Feb 22, 2011 at 05:54:31PM +0000, Daniel P. Berrange wrote:
+virHashTablePtr virHashCreateFull(int size, virHashDeallocator
deallocator,
+ virHashCode code, virHashEqual equal,
+ virHashCopy copy, virHashRelease release)
I find the naming confusing/non obvious here, virHashDeallocator VS
virHashRelease, and virHashCopy is vague as to what it copies. What about
virHashKeyRelease (or Deallocator, or Free), virHashValueRelease and
virHashKeyCopy?
{
virHashTablePtr table = NULL;
@@ -103,6 +127,10 @@ virHashCreate(int size, virHashDeallocator deallocator)
table->size = size;
table->nbElems = 0;
table->f = deallocator;
"f" could be changed to a more obvious name now that there are different
function pointers in virHash, but that's not directly related to this
patch.
+ table->code = code;
+ table->equal = equal;
+ table->copy = copy;
+ table->release = release;
diff --git a/src/util/hash.h b/src/util/hash.h
index cf08e1a..6316fd9 100644
--- a/src/util/hash.h
+++ b/src/util/hash.h
+typedef unsigned long (*virHashCode)(const void *name);
+typedef bool (*virHashEqual)(const void *namea, const void *nameb);
+typedef void *(*virHashCopy)(const void *name);
+typedef void (*virHashRelease)(void *name);
Can these function pointers be documented, the others in this file
already have doc :)
Christophe