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);
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) \
((lstr)->imp == lstream_##type)
#ifdef ERROR_CHECK_TYPECHECK
-INLINE struct lstream *
+INLINE_HEADER struct lstream *
error_check_lstream_type (struct lstream *stream,
const Lstream_implementation *imp);
-INLINE struct lstream *
+INLINE_HEADER struct lstream *
error_check_lstream_type (struct lstream *stream,
const Lstream_implementation *imp)
{
#ifdef MULE
#ifndef BYTE_ASCII_P
-#include "mule-charset.h"
+#include "multibyte.h"
#endif
-INLINE Emchar Lstream_get_emchar (Lstream *stream);
-INLINE Emchar
+#ifndef CHAR_ASCII_P
+#include "character.h"
+#endif
+
+INLINE_HEADER Emchar Lstream_get_emchar (Lstream *stream);
+INLINE_HEADER Emchar
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 int Lstream_put_emchar (Lstream *stream, Emchar ch);
-INLINE int
+INLINE_HEADER int Lstream_put_emchar (Lstream *stream, Emchar ch);
+INLINE_HEADER int
Lstream_put_emchar (Lstream *stream, Emchar ch)
{
return CHAR_ASCII_P (ch) ?
Lstream_fput_emchar (stream, ch);
}
-INLINE void Lstream_unget_emchar (Lstream *stream, Emchar ch);
-INLINE void
+INLINE_HEADER void Lstream_unget_emchar (Lstream *stream, Emchar ch);
+INLINE_HEADER void
Lstream_unget_emchar (Lstream *stream, Emchar ch)
{
if (CHAR_ASCII_P (ch))