lynx-dev
[Top][All Lists]
Advanced

[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

reply via email to

[Prev in Thread] Current Thread [Next in Thread]