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)))

Reply via email to