Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Feb 2002 03:57:27 +1100 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        Mark Murray <mark@grondar.za>
Cc:        <cvs-committers@FreeBSD.org>, <cvs-all@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/sys socket.h types.h 
Message-ID:  <20020205034456.K23699-100000@gamplex.bde.org>
In-Reply-To: <200202041616.g14GG7E56111@greenpeace.grondar.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 4 Feb 2002, Mark Murray wrote:

> > > So how does one write a (decent) macro to return a correct value
> > > for min(1u, -1)?
> > The warnings are probably correct.  They probably indicate that callers
> > are passing mismatched arg types.
>
> Your thoughts on turning howmany() into a function?

Negative.  I gave the examples of the min() functions vs the MIN() macro
to show why the macro is better.

> > Perhaps more seriously, the change to the type of NBBY exposes an old
> > bug in ffs and causes kernel panics.  See another thread.  Please
> > back it out too, and consider doing the same for all the other type
> > changes.
>
> If that is a bug, then surely that is what needs fixing?

That and millions of other lines out there that may depend on the old
behaviour.

Anyway, I now think it is just wrong for NBBY to have an unsigned type.
It is usually wrong for small counters to have an unsigned type just
because they are nonnegative and represent counts.  Unsigned types
tend to cause sign extension problems and they always inhibit detection
of overflow.  NBBY is an old spelling of the standard CHAR_BIT.  The
type of CHAR_BIT is not specified in the standard, and is normally
plain int.

Bruce


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




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