(Faset): Check newelt by CHECK_CHARACTER. Don't change
authorKenichi Handa <handa@m17n.org>
Fri, 26 Sep 2003 11:20:13 +0000 (11:20 +0000)
committerKenichi Handa <handa@m17n.org>
Fri, 26 Sep 2003 11:20:13 +0000 (11:20 +0000)
multibyteness of the result when newelt is an 8-bit character.

src/data.c

index 8ee564d..0e2a704 100644 (file)
@@ -1929,7 +1929,7 @@ bool-vector.  IDX starts at 0.  */)
 
       if (idxval < 0 || idxval >= SCHARS (array))
        args_out_of_range (array, idx);
-      CHECK_NUMBER (newelt);
+      CHECK_CHARACTER (newelt);
 
       nbytes = SBYTES (array);
 
@@ -1966,7 +1966,8 @@ bool-vector.  IDX starts at 0.  */)
        args_out_of_range (array, idx);
       CHECK_NUMBER (newelt);
 
-      if (XINT (newelt) < 0 || ASCII_CHAR_P (XINT (newelt)))
+      if (XINT (newelt) < 0 || ASCII_CHAR_P (XINT (newelt))
+         || CHAR_BYTE8_P (XINT (newelt)))
        SSET (array, idxval, XINT (newelt));
       else
        {