aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/uuid.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2017-10-10 22:33:28 +0200
committerMarius Bakke <mbakke@fastmail.com>2017-10-10 22:33:28 +0200
commitc01ef97594a8b06e884906a5efbdfacf8ba33dc3 (patch)
tree828b4711c6ad71ab8fc9b6fc8f23f80979c5fe9b /gnu/system/uuid.scm
parent86d02fa8010c053ba980e4c39373b9bf8af0561d (diff)
parent4b8b4418e609b5e0bfb6efbc11ac28deaa437e80 (diff)
downloadpatches-c01ef97594a8b06e884906a5efbdfacf8ba33dc3.tar
patches-c01ef97594a8b06e884906a5efbdfacf8ba33dc3.tar.gz
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/system/uuid.scm')
-rw-r--r--gnu/system/uuid.scm13
1 files changed, 13 insertions, 0 deletions
diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm
index 6470abb8cc..e422e06a6d 100644
--- a/gnu/system/uuid.scm
+++ b/gnu/system/uuid.scm
@@ -29,6 +29,7 @@
uuid?
uuid-type
uuid-bytevector
+ uuid=?
bytevector->uuid
@@ -281,3 +282,15 @@ corresponding bytevector; otherwise return #f."
((_ . (? procedure? unparse)) (unparse bv))))
(((? uuid? uuid))
(uuid->string (uuid-bytevector uuid) (uuid-type uuid)))))
+
+(define uuid=?
+ ;; Return true if A is equal to B, comparing only the actual bits.
+ (match-lambda*
+ (((? bytevector? a) (? bytevector? b))
+ (bytevector=? a b))
+ (((? uuid? a) (? bytevector? b))
+ (bytevector=? (uuid-bytevector a) b))
+ (((? uuid? a) (? uuid? b))
+ (bytevector=? (uuid-bytevector a) (uuid-bytevector b)))
+ ((a b)
+ (uuid=? b a))))