(Fsave_charset_mapping_table): Open database as "w+" mode.
[chise/xemacs-chise.git-] / src / lstream.h
index c8cb39a..877f66c 100644 (file)
@@ -167,8 +167,8 @@ struct lstream
   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) \
@@ -277,8 +277,9 @@ 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_HEADER int Lstream_put_emchar (Lstream *stream, Emchar ch);