Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 03 Sep 2001 15:22:10 -0600
From:      Warner Losh <imp@harmony.village.org>
To:        "Brian F. Feldman" <green@FreeBSD.ORG>
Cc:        Mike Barcroft <mike@FreeBSD.ORG>, David Hill <david@phobia.ms>, audit@FreeBSD.ORG
Subject:   Re: users.c PATCH - please review 
Message-ID:  <200109032122.f83LMAh28309@harmony.village.org>
In-Reply-To: Your message of "Mon, 03 Sep 2001 17:20:50 EDT." <200109032120.f83LKoS53035@green.bikeshed.org> 
References:  <200109032120.f83LKoS53035@green.bikeshed.org>  

next in thread | previous in thread | raw e-mail | index | archive | help
In message <200109032120.f83LKoS53035@green.bikeshed.org> "Brian F. Feldman" writes:
: Warner Losh <imp@harmony.village.org> wrote:
: > In message <20010901125802.F85574@coffee.q9media.com> Mike Barcroft writes:
: > : David Hill <david@phobia.ms> writes:
: > : > I have patched users/users.c so that it will compile under WARNS?=2.  I have both attached and cut/pasted it to the message.
: > : > Please review it.
: > : 
: > : > diff -ru /usr/src/usr.bin/users.orig/users.c /usr/src/usr.bin/users/users.c
: > : > --- /usr/src/usr.bin/users.orig/users.c Fri Aug 27 21:07:14 1999
: > : > +++ /usr/src/usr.bin/users/users.c      Fri Aug 31 15:58:20 2001
: > : > @@ -117,5 +117,8 @@
: > : >  scmp(p, q)
: > : >         const void *p, *q;
: > : >  {
: > : > -       return(strncmp((char *)p, (char *)q, UT_NAMESIZE));
: > : > +       const char *const pp1 = p;
: > : > +       const char *const pp2 = q;
: > : > +
: > : > +       return(strncmp(pp1, pp2, UT_NAMESIZE));
: > : >  }
: > : 
: > : Why create new local variables?  Just get rid of the bogus casts.
: > 
: > Why not just
: > 	return (strncmp((const char *)p, (const char *)q, UT_NAMESIZE));
: > 
: > Also, const char *const is wrong.  No need for the second const.
: 
: Technically, there's nothing wrong with declaring "a const pointer to a 
: const character", just casting to that would be very strange (and probably 
: illegal; not sure).  In any case, I'm not sure I see the point of not just 
: using two (const char *) casts and not increasing the function size other 
: than adding a blank line and space for style(9).  That should remove any 
: warning about  casting away const qualification.

That was rather my point.  const char *const is wrong because it is
too consty, the second const doesn't buy you anything.

Warner

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109032122.f83LMAh28309>