mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2025-01-19 05:57:04 +01:00
scripts: import: json: Fix error handling.
Fixes partially <https://bugs.gnu.org/44115>. * guix/scripts/import/json.scm (guix-import-json): Handle error. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
460e7d8bc9
commit
60947257ae
1 changed files with 8 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||||
|
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -88,8 +89,13 @@ (define (parse-options)
|
||||||
(reverse opts))))
|
(reverse opts))))
|
||||||
(match args
|
(match args
|
||||||
((file-name)
|
((file-name)
|
||||||
(or (json->code file-name)
|
(catch 'system-error
|
||||||
(leave (G_ "invalid JSON in file '~a'~%") file-name)))
|
(lambda ()
|
||||||
|
(or (json->code file-name)
|
||||||
|
(leave (G_ "invalid JSON in file '~a'~%") file-name)))
|
||||||
|
(lambda args
|
||||||
|
(leave (G_ "failed to access '~a': ~a~%")
|
||||||
|
file-name (strerror (system-error-errno args))))))
|
||||||
(()
|
(()
|
||||||
(leave (G_ "too few arguments~%")))
|
(leave (G_ "too few arguments~%")))
|
||||||
((many ...)
|
((many ...)
|
||||||
|
|
Loading…
Reference in a new issue