svn commit: r236917 - head/sys/kern

Pawel Jakub Dawidek pjd at FreeBSD.org
Tue Jun 12 11:53:13 UTC 2012


On Tue, Jun 12, 2012 at 12:53:47PM +1000, Bruce Evans wrote:
> On Mon, 11 Jun 2012, Pawel Jakub Dawidek wrote:
> > -        KASSERT(fd >= 0 && fd < fdp->fd_nfiles,
> > +        KASSERT((unsigned int)fd < fdp->fd_nfiles,
> >             ("file descriptor %d out of range (0, %d)", fd, fdp->fd_nfiles));
> > 	return ((fdp->fd_map[NDSLOT(fd)] & NDBIT(fd)) != 0);
> > }
> 
> This is backwards.  Apart from using the worst possible (most verbose)
> spelling of `unsigned', it uses a type hack manually optimize away the
> test for fd being < 0.  The compiler will do this "optimization"
> automatically if it is any good (or undo it if it is not), so all the
> hack does is obfuscate the test.  With the verbose spelling of u_int,
> it even takes more space.

Well, to be honest I presonally would prefer explicit check for fd being
less than 0, but my impression was that using cast is the most popular
way and I wanted this check to be consistent across our source tree.

Feel free to change it.

BTW. I really dislike using 'unsigned' with omitted 'int'. u_int is fine.

-- 
Pawel Jakub Dawidek                       http://www.wheelsystems.com
FreeBSD committer                         http://www.FreeBSD.org
Am I Evil? Yes, I Am!                     http://tupytaj.pl
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20120612/41291d7b/attachment.pgp


More information about the svn-src-all mailing list