[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lynx-dev Relatively mild dev13 build problems
From: |
pg |
Subject: |
Re: lynx-dev Relatively mild dev13 build problems |
Date: |
Sun, 31 Oct 1999 07:19:31 -0700 (MST) |
In a recent note, Klaus Weide said:
> Date: Sat, 30 Oct 1999 16:34:42 -0500 (CDT)
>
>
> If any compiler is not happy with isdigit((unsigned char)c) it should
> be ignored.
>
> Well I don't know whether it's an actual problem anywhere. It might
> be for '\377' vs. EOF. I don't know whether it's standard for these
> macros to handle EOF specially - my man page says "must have the value
> of an unsigned char or EOF".
>
IIRC (I haven't ANSI handy today), the behavior of is*(c) is allowed
to be undefined unless 0<=c<=127. It's plausible that an implementor
might extend the domain either to 0<=c<==255 or to -128<=c<=127. (The
latter is the intuitive extension where that's the set of values of
char.)
The latter can efficiently be done by something akin to:
#define isupper(c) *(__CHAR_ATTR+c+128) & __UPMASK
EBCDIC suffers these uncertainties less than ASCII, since the
values of common EBCDIC characters are scattered throught
the [0 .. 255] domain, and the implementor is not tempted to
economize and use a 128-entry table rather than 256.
-- gil
--
StorageTek
INFORMATION made POWERFUL