diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-02-12 22:44:25 +0100 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2023-02-21 19:42:32 +0100 |
commit | cb85237316820c6174bbdbf7a73feaca416f507f (patch) | |
tree | 498f3726b851880a6931e4cf9ec1dbed414867cc /module/hnh | |
parent | Fix IPv6-binding without hot-patching guile. (diff) | |
download | calp-cb85237316820c6174bbdbf7a73feaca416f507f.tar.gz calp-cb85237316820c6174bbdbf7a73feaca416f507f.tar.xz |
Fix seeding of UUIDs.
Diffstat (limited to '')
-rw-r--r-- | module/hnh/util/uuid.scm | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/module/hnh/util/uuid.scm b/module/hnh/util/uuid.scm index 68455243..8e0434e3 100644 --- a/module/hnh/util/uuid.scm +++ b/module/hnh/util/uuid.scm @@ -1,19 +1,19 @@ (define-module (hnh util uuid) :use-module (ice-9 format) - :export (uuid uuid-v4)) + :export (seed uuid uuid-v4)) -(define %seed (random-state-from-platform)) +(define seed (make-parameter (random-state-from-platform))) (define (uuid-v4) (define version 4) (define variant #b10) (format #f "~8'0x-~4'0x-~4'0x-~4'0x-~12'0x" - (random (ash 1 (* 4 8)) %seed) - (random (ash 1 (* 4 4)) %seed) + (random (ash 1 (* 4 8)) (seed)) + (random (ash 1 (* 4 4)) (seed)) (logior (ash version (* 4 3)) - (random (1- (ash 1 (* 4 3))) %seed)) + (random (1- (ash 1 (* 4 3))) (seed))) (logior (ash variant (+ 2 (* 4 3))) - (random (ash 1 (+ 2 (* 4 3))) %seed)) - (random (ash 1 (* 4 12)) %seed))) + (random (ash 1 (+ 2 (* 4 3))) (seed))) + (random (ash 1 (* 4 12)) (seed)))) (define uuid uuid-v4) |