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 committed by Andy Wingo
commit 7b1069269b

View file

@ -444,7 +444,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 << 8) || %tc7-vector))
(let ((words (get-bytevector-n port (* len %word-size)))
(vector (make-vector len)))