summaryrefslogtreecommitdiff
path: root/guix/serialization.scm
diff options
context:
space:
mode:
authorLeo Famulari <leo@famulari.name>2021-02-09 15:09:43 -0500
committerLeo Famulari <leo@famulari.name>2021-02-09 15:09:43 -0500
commit388bd35dd0df2d231bc2cce3746d7d5fd15df23a (patch)
tree82e7cc45b8279f83439214c7c79dc7161ffda94d /guix/serialization.scm
parentf1c7c2f697877fcb68b53ea062ff8a88f274a2fe (diff)
parentd00380b0077b0df2a0b790bb115d07c1533b8863 (diff)
downloadguix-patches-388bd35dd0df2d231bc2cce3746d7d5fd15df23a.tar
guix-patches-388bd35dd0df2d231bc2cce3746d7d5fd15df23a.tar.gz
Merge branch 'master' into staging-next
Diffstat (limited to 'guix/serialization.scm')
-rw-r--r--guix/serialization.scm16
1 files changed, 12 insertions, 4 deletions
diff --git a/guix/serialization.scm b/guix/serialization.scm
index 59cd93fb18..9d0739f6c5 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, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,7 +34,7 @@
write-bytevector write-string
read-string read-latin1-string read-maybe-utf8-string
write-string-list read-string-list
- write-string-pairs
+ write-string-pairs read-string-pairs
write-store-path read-store-path
write-store-path-list read-store-path-list
(dump . dump-port*)
@@ -166,6 +166,14 @@ substitute invalid byte sequences with question marks. This is a
(write-int (length l) p)
(for-each (cut write-string <> p) l))
+(define (read-string-list p)
+ (let ((len (read-int p)))
+ (unfold (cut >= <> len)
+ (lambda (i)
+ (read-string p))
+ 1+
+ 0)))
+
(define (write-string-pairs l p)
(write-int (length l) p)
(for-each (match-lambda
@@ -174,11 +182,11 @@ substitute invalid byte sequences with question marks. This is a
(write-string second p)))
l))
-(define (read-string-list p)
+(define (read-string-pairs p)
(let ((len (read-int p)))
(unfold (cut >= <> len)
(lambda (i)
- (read-string p))
+ (cons (read-string p) (read-string p)))
1+
0)))