[Ovirt-devel] Re: ovirt-listen-awake

Dan Kenigsberg danken at qumranet.com
Wed Oct 15 14:54:16 UTC 2008


On Wed, Oct 15, 2008 at 01:14:29PM +0200, Chris Lalancette wrote:
> Dan Kenigsberg wrote:
> > Hi,
> > 
> > Please pardon my newbieness; I'm trying to understand what's what in ovirt (did
> > not get very far yet), and stumbled upon this:
> 
> No problem, happy to help...

Thanks, I will bother you again :-)

> 
> > 
> > commit f393d38599283676fbd33c81783fd7164faa4251
> > Author: Dan Kenigsberg <danken at qumranet.com>
> > Date:   Tue Oct 14 12:14:03 2008 +0200
> > 
> >     ovirt-listen-awake: what's the point of streq?
> > 
> > diff --git a/ovirt-listen-awake/ovirt-listen-awake.c b/ovirt-listen-awake/ovirt-listen-awake.c
> > index 7ecd0a7..b00a54d 100644
> > --- a/ovirt-listen-awake/ovirt-listen-awake.c
> > +++ b/ovirt-listen-awake/ovirt-listen-awake.c
> > @@ -37,14 +37,7 @@
> >  
> >  static int streq(char *first, char *second)
> >  {
> > -  int first_len, second_len;
> > -
> > -  first_len = strlen(first);
> > -  second_len = strlen(second);
> > -
> > -  if (first_len == second_len && strncmp(first, second, first_len) == 0)
> > -    return 1;
> > -  return 0;
> > +  return !strcmp(first, second);
> >  }
> 
> Heh.  Well, the idea was that I wanted to be a little more defensive, so that
> "IDENTIFY" != "IDENTIFYFOO" (or whatever).  I could have sworn I've run into
> bugs doing that in the past, but a quick test shows that strcmp() properly
> returns failure in that case.
> 
> Ah, now I remember.  I was taught always to use strncmp(), and just doing
> strncmp(first, second, strlen(first)) runs into the bug I was trying to avoid.

My point is that your 
first_len = strlen(first);second_len = strlen(second);strncmp(first, second, first_len)
runs into that bug, too...

> In any case, not a big deal either way; it's not performance critical in the
> least, but I guess your version is a little easier to understand.  If we are
> going to do it, we can just remove the streq function entirely, since it doesn't
> really serve any purpose then.
> 
> By the way, you can send this stuff to ovirt-devel; I've added that as a CC here.

I was trying to keep my general disorientation lowkey, but hey, we're
one happy company now...

Dan.




More information about the ovirt-devel mailing list