wingo pushed a commit to branch master
in repository guile.
commit 7b1069269b14b24a52cc5b315b215f8691978165
Author: Mark H Weaver <[email protected]>
Date: Thu Mar 26 23:13:47 2015 -0400
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.
---
module/system/base/types.scm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/module/system/base/types.scm b/module/system/base/types.scm
index 7368171..0e7371b 100644
--- a/module/system/base/types.scm
+++ b/module/system/base/types.scm
@@ -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)))