diff options
author | Mark H Weaver <mhw@netris.org> | 2018-05-21 13:22:32 -0400 |
---|---|---|
committer | Mark H Weaver <mhw@netris.org> | 2018-05-21 13:22:32 -0400 |
commit | 0661758e133c0384d20043d3526b5ebc794e1f04 (patch) | |
tree | 46fb6d731fd0e562379ecfffba499deb17847a23 /gnu/system/uuid.scm | |
parent | 539bf8f2c071b53834829259bb3fabf0390c5dc6 (diff) | |
parent | c036959b1a61c37c9b7d72e655e1441f2feefb6e (diff) | |
download | patches-0661758e133c0384d20043d3526b5ebc794e1f04.tar patches-0661758e133c0384d20043d3526b5ebc794e1f04.tar.gz |
Merge branch 'master' into core-updates
Diffstat (limited to 'gnu/system/uuid.scm')
-rw-r--r-- | gnu/system/uuid.scm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm index 73695ddeb8..f13960c3e9 100644 --- a/gnu/system/uuid.scm +++ b/gnu/system/uuid.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; ;;; This file is part of GNU Guix. @@ -251,7 +251,8 @@ corresponding bytevector; otherwise return #f." (define-syntax uuid (lambda (s) - "Return the UUID object corresponding to the given UUID representation." + "Return the UUID object corresponding to the given UUID representation or +#f if the string could not be parsed." (syntax-case s (quote) ((_ str (quote type)) (and (string? (syntax->datum #'str)) @@ -266,9 +267,11 @@ corresponding bytevector; otherwise return #f." (string? (syntax->datum #'str)) #'(uuid str 'dce)) ((_ str) - #'(make-uuid 'dce (string->uuid str 'dce))) + #'(let ((bv (string->uuid str 'dce))) + (and bv (make-uuid 'dce bv)))) ((_ str type) - #'(make-uuid type (string->uuid str type)))))) + #'(let ((bv (string->uuid str type))) + (and bv (make-uuid type bv))))))) (define uuid->string ;; Convert the given bytevector or UUID object, to the corresponding UUID |