On Tue, 14 Mar 2000, Giorgos Keramidas wrote:
> On Mon, Mar 13, 2000 at 05:28:47PM +1100, Bruce Evans wrote:
> ...
> > #define isschar(type) (!isfloat(type) && issigned(type) && sizeof(type) == 1)
> This is marvellous in it's simplicity of interface.
>
> Yet, using sizeof(char) and assuming that it's going to be 1, strikes me
> like a dangerous thing to do. I have never heard of machines where this
It is sure to be 1 (the C standard requires this). The problem is
going in the opposite direction -- sizeof(long) may also be 1.
sizeof(signed char) == sizeof(long) doesn't imply that SCHAR_MAX ==
LONG_MAX, so the macros may give the wrong result for:
typedef long foo_t;
...
assert(maxof(foo_t) == LONG_MAX);
Bruce
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message