From owner-freebsd-audit Wed Sep 5 5:14:23 2001 Delivered-To: freebsd-audit@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 22C5E37B40D; Wed, 5 Sep 2001 05:14:19 -0700 (PDT) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id WAA01853; Wed, 5 Sep 2001 22:14:14 +1000 Date: Wed, 5 Sep 2001 22:13:47 +1000 (EST) From: Bruce Evans X-X-Sender: To: "Brian F. Feldman" Cc: Warner Losh , Mike Barcroft , David Hill , Subject: Re: users.c PATCH - please review In-Reply-To: <200109032120.f83LKoS53035@green.bikeshed.org> Message-ID: <20010905220327.C23159-100000@alphplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-audit@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 3 Sep 2001, Brian F. Feldman wrote: > Warner Losh wrote: > > In message <20010901125802.F85574@coffee.q9media.com> Mike Barcroft writes: > > : David Hill 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. Why not just get rid of the casts like Mike suggested? They have no effect in ISO C. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-audit" in the body of the message