1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-14 09:40:20 +02:00

Handle zero-length bytevectors correctly in (system base types).

* module/system/base/types.scm (cell->object): Use 'get-bytevector-n'
  instead of 'get-bytevector-all', so that the zero-length case does not
  return EOF.
This commit is contained in:
Mark H Weaver 2015-03-26 23:13:47 -04:00
parent 4ab9f0f8b9
commit 2c032c2215

View file

@ -443,7 +443,7 @@ using BACKEND."
('big "UTF-32BE")))))
(((_ & #x7f = %tc7-bytevector) len address)
(let ((bv-port (memory-port backend address len)))
(get-bytevector-all bv-port)))
(get-bytevector-n bv-port len)))
((((len << 7) || %tc7-vector) weakv-data)
(let* ((len (arithmetic-shift len -1))
(words (get-bytevector-n port (* len %word-size)))