[libvirt] [PATCH 2/3] Move virMacAddrXXX functions to src/util/virmacaddr.[ch]
Daniel P. Berrange
berrange at redhat.com
Fri Jan 27 17:57:17 UTC 2012
On Fri, Jan 27, 2012 at 10:52:08AM -0700, Eric Blake wrote:
> On 01/27/2012 10:37 AM, Daniel P. Berrange wrote:
> > From: "Daniel P. Berrange" <berrange at redhat.com>
> >
> > Move the virMacAddrXXX functions out of util.[ch] and into a
> > new dedicate file virmacaddr.[ch]
> > ---
> > src/Makefile.am | 1 +
> > src/conf/capabilities.h | 2 +-
> > src/conf/network_conf.h | 2 +-
> > src/libvirt_private.syms | 11 ++-
> > src/util/util.c | 99 ---------------------------------
> > src/util/util.h | 13 ----
> > src/util/virmacaddr.c | 128 +++++++++++++++++++++++++++++++++++++++++++
> > src/util/virmacaddr.h | 41 ++++++++++++++
> > src/util/virnetdev.c | 1 +
> > src/util/virnetdevmacvlan.c | 2 +-
> > 10 files changed, 181 insertions(+), 119 deletions(-)
>
> More insertions than deletions, but probably due to copyright headers :)
>
> > +++ b/src/util/virmacaddr.c
> > @@ -0,0 +1,128 @@
> > +/*
> > + * virmacaddr.c: MAC address handling
> > + *
> > + * Copyright (C) 2012 Red Hat, Inc.
>
> When doing code motion, are we required to carry over the copyright
> years from the earlier location of the code?
Yeah actually I backdated it to 2006
> > +
> > +/* Compare two MAC addresses, ignoring differences in case,
> > + * as well as leading zeros.
> > + */
> > +int
> > +virMacAddrCompare (const char *p, const char *q)
>
> As long as you are moving things, would you like to fix spacing before '('?
>
> > +{
> > + unsigned char c, d;
> > + do {
> > + while (*p == '0' && c_isxdigit (p[1]))
> > + ++p;
> > + while (*q == '0' && c_isxdigit (q[1]))
>
> and here too?
>
> > + ++q;
> > + c = c_tolower (*p);
> > + d = c_tolower (*q);
>
> and here
Have done
> > +
> > + result = strtoul(str, &end_ptr, 16);
> > +
> > + if ((end_ptr - str) < 1 || 2 < (end_ptr - str) ||
> > + (errno != 0) ||
> > + (0xFF < result))
>
> That last check is impossible. Yes, I know it's just code motion, and
> the dead code was present in the original as well, but since we already
> did a length bound of at most two hex characters, we know that the
> result did not exceed 0xff.
>
> Why are we even bothering with strtoul for a two-character conversion?
> This seems like it is more efficient when open-coded. But in the
> interest of pure code motion, I'd do any cleanups as a separate patch.
Interesting questions :-)
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 :|
More information about the libvir-list
mailing list