the caller calls Lstream_read() with a very small size.
This function can be NULL if the stream is output-only. */
- /* The omniscient mly, blinded by the irresistable thrall of Common
+ /* The omniscient mly, blinded by the irresistible thrall of Common
Lisp, thinks that it is bogus that the types and implementations
of input and output streams are the same. */
ssize_t (*reader) (Lstream *stream, unsigned char *data, size_t size);
Lstream_get_emchar (Lstream *stream)
{
int c = Lstream_getc (stream);
- return BYTE_ASCII_P (c) ? (Emchar) c :
- Lstream_get_emchar_1 (stream, c);
+ return (c < 0x80 /* c == EOF || BYTE_ASCII_P (c) */
+ ? (Emchar) c
+ : Lstream_get_emchar_1 (stream, c));
}
INLINE_HEADER int Lstream_put_emchar (Lstream *stream, Emchar ch);