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>