summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/serialization.scm8
-rw-r--r--guix/store.scm2
2 files changed, 5 insertions, 5 deletions
diff --git a/guix/serialization.scm b/guix/serialization.scm
index e6ae2fc307..b41a0a09d1 100644
--- a/guix/serialization.scm
+++ b/guix/serialization.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -102,9 +102,9 @@
(or (zero? m)
(put-bytevector p zero 0 (- 8 m)))))))
-(define (write-bytevector s p)
- (let* ((l (bytevector-length s))
- (m (modulo l 8))
+(define* (write-bytevector s p
+ #:optional (l (bytevector-length s)))
+ (let* ((m (modulo l 8))
(b (make-bytevector (+ 8 l (if (zero? m) 0 (- 8 m))))))
(bytevector-u32-set! b 0 l (endianness little))
(bytevector-copy! s 0 b 8 l)
diff --git a/guix/store.scm b/guix/store.scm
index 89db46b8e6..6742611c6f 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -609,7 +609,7 @@ encoding conversion errors."
(let* ((max-len (read-int p))
(data (make-bytevector max-len))
(len (get-bytevector-n! user-port data 0 max-len)))
- (write-bytevector data p)
+ (write-bytevector data p len)
#f))
((= k %stderr-next)
;; Log a string. Build logs are usually UTF-8-encoded, but they