
On Tue, Feb 22, 2011 at 04:16:50PM -0700, Eric Blake wrote:
On 02/22/2011 10:54 AM, Daniel P. Berrange wrote:
Relax the restriction that the hash table key must be a string by allowing an arbitrary hash code generator + comparison func to be provided
* util/hash.c, util/hash.h: Allow any pointer as a key * internal.h: Include stdbool.h as standard. * conf/domain_conf.c, conf/domain_conf.c, conf/nwfilter_params.c, nwfilter/nwfilter_gentech_driver.c, nwfilter/nwfilter_gentech_driver.h, nwfilter/nwfilter_learnipaddr.c, qemu/qemu_command.c, qemu/qemu_driver.c, qemu/qemu_process.c, uml/uml_driver.c, xen/xm_internal.c: s/char */void */ in hash callbacks
+++ b/src/internal.h @@ -8,6 +8,7 @@ # include <errno.h> # include <limits.h> # include <verify.h> +# include <stdbool.h>
Should we be scrubbing other files to remove includes rendered redundant by including "internal.h"?
I've sent a separate patch which adds this, and scrubs other files at the same time, and rebased this ontop of it.
+static bool virHashStrEqual(const void *namea, const void *nameb) +{ + return strcmp(namea, nameb) == 0 ? true : false;
cond == 0 ? true : false always looks like overkill to me (almost like you were getting stumped by the 'make syntax-check' rules). What's wrong with:
return STREQ(namea, nameb);
Opps, don't know why I didn't use STREQ already
@@ -87,8 +110,9 @@ virHashComputeKey(virHashTablePtr table, const char *name) * * Returns the newly created object, or NULL if an error occured. */ -virHashTablePtr -virHashCreate(int size, virHashDeallocator deallocator) +virHashTablePtr virHashCreateFull(int size, virHashDeallocator deallocator,
Why the style change? I would have expected a newline between return type and function name:
virHashTablePtr virHashCreateFull(int size, ...
ACK with those nits addressed.
Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|