diff options
| author | Eli Zaretskii | 1998-05-04 15:29:47 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 1998-05-04 15:29:47 +0000 |
| commit | 67d3b149e2cdd55db5091fb0e3f9029cbf516819 (patch) | |
| tree | 3ed09368661963225e8171c8c8d0a997d22f0f74 /src | |
| parent | b35c3bf62fe8c2c41b5d34df5705c0ee5ff1b2ae (diff) | |
| download | emacs-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.c | 4 |
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), |