size_t unget_buffer_ind; /* pointer to next buffer spot to write a character */
size_t byte_count;
- long flags; /* Align pointer for 64 bit machines (kny) */
- char data[1];
+ int flags;
+ max_align_t data[1];
};
#define LSTREAM_TYPE_P(lstr, type) \
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);