aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii1998-05-04 15:29:47 +0000
committerEli Zaretskii1998-05-04 15:29:47 +0000
commit67d3b149e2cdd55db5091fb0e3f9029cbf516819 (patch)
tree3ed09368661963225e8171c8c8d0a997d22f0f74 /src
parentb35c3bf62fe8c2c41b5d34df5705c0ee5ff1b2ae (diff)
downloademacs-67d3b149e2cdd55db5091fb0e3f9029cbf516819.tar.gz
emacs-67d3b149e2cdd55db5091fb0e3f9029cbf516819.zip
(read1): Clear out extraneous bits at end of bool-vector.
Diffstat (limited to 'src')
-rw-r--r--src/lread.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/lread.c b/src/lread.c
index 44d071e97e2..1f4a8c5e093 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1512,6 +1512,10 @@ read1 (readcharfun, pch, first_in_list)
1512 val = Fmake_bool_vector (length, Qnil); 1512 val = Fmake_bool_vector (length, Qnil);
1513 bcopy (XSTRING (tmp)->data, XBOOL_VECTOR (val)->data, 1513 bcopy (XSTRING (tmp)->data, XBOOL_VECTOR (val)->data,
1514 size_in_chars); 1514 size_in_chars);
1515 /* Clear the extraneous bits in the last byte. */
1516 if (XINT (length) != size_in_chars * BITS_PER_CHAR)
1517 XBOOL_VECTOR (val)->data[size_in_chars - 1]
1518 &= (1 << (XINT (length) % BITS_PER_CHAR)) - 1;
1515 return val; 1519 return val;
1516 } 1520 }
1517 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5), 1521 Fsignal (Qinvalid_read_syntax, Fcons (make_string ("#&...", 5),