"Daniel P. Berrange" <[email protected]> wrote on 03/30/2010 11:55:33 AM:
> Please respond to "Daniel P. Berrange" > > On Tue, Mar 30, 2010 at 11:26:47AM -0400, Stefan Berger wrote: > > A cosmetic change that makes the entries in the int-2-string maps look > > more readable. Add some missing entries. > > > > Signed-off-by: Stefan Berger <[email protected]> > > > > > > --- > > src/conf/nwfilter_conf.c | 97 ++++++++++++ > +---------------------------------- > > 1 file changed, 28 insertions(+), 69 deletions(-) > > > > Index: libvirt-acl/src/conf/nwfilter_conf.c > > =================================================================== > > --- libvirt-acl.orig/src/conf/nwfilter_conf.c > > +++ libvirt-acl/src/conf/nwfilter_conf.c > > @@ -105,6 +105,9 @@ struct int_map { > > const char *val; > > }; > > > > +#define INTMAP_ENTRY(ATT, VAL) { .attr = ATT, .val = VAL } > > +#define INTMAP_ENTRY_LAST { .val = NULL } > > + > > > > /* > > * only one filter update allowed > > @@ -388,18 +391,10 @@ struct _virXMLAttr2Struct > > > > > > static const struct int_map macProtoMap[] = { > > - { > > - .attr = ETHERTYPE_ARP, > > - .val = "arp", > > - }, { > > - .attr = ETHERTYPE_IP, > > - .val = "ipv4", > > - }, { > > - .attr = ETHERTYPE_IPV6, > > - .val = "ipv6", > > - }, { > > - .val = NULL, > > - } > > + INTMAP_ENTRY(ETHERTYPE_ARP , "arp"), > > + INTMAP_ENTRY(ETHERTYPE_IP , "ipv4"), > > + INTMAP_ENTRY(ETHERTYPE_IPV6, "ipv6"), > > + INTMAP_ENTRY_LAST > > }; > > This should all really be replaced with a standard call to VIR_ENUM_DECL + > VIR_ENUM_IMPL which do compile time validation that you have the correct > number of strings to match the enum, and allow O(1) int to string conversion, > though string to int is still O(n). ETHERTYPE_ARP has value 0x806. From my understanding this wouldn't fit the VIR_ENUM_DECL macros. O(log(n)) is the best we could do for int lookups... but I doubt it'd be worth the effort for the small maps. Regards, Stefan > > Regards, > Daniel > -- > |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/:| > |: http://libvirt.org -o- http://virt-manager.org -o- http://deltacloud.org:| > |: http://autobuild.org -o- http://search.cpan.org/~danberr/:| > |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
