On Wed, Oct 21, 2015 at 05:54:11PM +0200, Paolo Bonzini wrote: > > > On 21/10/2015 17:43, Daniel P. Berrange wrote: > > + } > > + if (addr->has_ipv6 && addr->ipv6) { > > + g_printerr("One\n"); > > + return PF_INET6; > > + } > > + if (addr->has_ipv4 && addr->ipv4) { > > + g_printerr("Two\n"); > > + return PF_INET; > > + } > > + if (addr->has_ipv6 && !addr->ipv6) { > > + g_printerr("Three\n"); > > + return PF_INET; > > + } > > + if (addr->has_ipv4 && !addr->ipv4) { > > + g_printerr("Four\n"); > > + return PF_INET6; > > + } > > + g_printerr("Five %d %d %d %d\n", > > + addr->has_ipv4, addr->ipv4, > > + addr->has_ipv6, addr->ipv6); > > + return PF_UNSPEC; > > +} > > + > > Apart from the extra debugging output, I think you can merge as > > if ((addr->has_ipv6 && addr->ipv6) || (addr->has_ipv4 && !addr->ipv4)) { > return PF_INET6; > } > if ((addr->has_ipv4 && addr->ipv4) || (addr->has_ipv6 && !addr->ipv6)) { > return PF_INET; > } > return PF_UNSPEC; > > where the order of the first two is important.
Yes, and next time I'll remember to remove the debugging output before posting :-) Regards, 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 :|