summaryrefslogtreecommitdiff
path: root/guix/pk-crypto.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2017-03-23 14:53:33 +0200
committerEfraim Flashner <efraim@flashner.co.il>2017-03-23 14:53:33 +0200
commit0371b345e8bffb0770b1a02ddd1c248f90566e04 (patch)
treeddfd9cc4e32193945f4891c3f77e2b8271c4a5ae /guix/pk-crypto.scm
parent8be563a5a39205d55fd39399e29a9272305b34c6 (diff)
parentc53af0016e283ef642ac43ccc2ee5d650f06a888 (diff)
downloadguix-patches-0371b345e8bffb0770b1a02ddd1c248f90566e04.tar
guix-patches-0371b345e8bffb0770b1a02ddd1c248f90566e04.tar.gz
Merge remote-tracking branch 'origin/master' into core-updates
Diffstat (limited to 'guix/pk-crypto.scm')
-rw-r--r--guix/pk-crypto.scm8
1 files changed, 8 insertions, 0 deletions
diff --git a/guix/pk-crypto.scm b/guix/pk-crypto.scm
index 7017006a71..55ba7b1bb8 100644
--- a/guix/pk-crypto.scm
+++ b/guix/pk-crypto.scm
@@ -23,11 +23,13 @@
#:use-module (system foreign)
#:use-module (rnrs bytevectors)
#:use-module (ice-9 match)
+ #:use-module (ice-9 rdelim)
#:export (canonical-sexp?
error-source
error-string
string->canonical-sexp
canonical-sexp->string
+ read-file-sexp
number->canonical-sexp
canonical-sexp-car
canonical-sexp-cdr
@@ -143,6 +145,12 @@ thrown along with 'gcry-error'."
(loop (* len 2))
(pointer->string buf size "ISO-8859-1")))))))
+(define (read-file-sexp file)
+ "Return the canonical sexp read from FILE."
+ (call-with-input-file file
+ (compose string->canonical-sexp
+ read-string)))
+
(define canonical-sexp-car
(let* ((ptr (libgcrypt-func "gcry_sexp_car"))
(proc (pointer->procedure '* ptr '(*))))