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:
zimoun 2021-01-28 00:46:03 +01:00 committed by Ludovic Courtès
parent 460e7d8bc9
commit 60947257ae
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -88,8 +89,13 @@ (define (parse-options)
(reverse opts))))
(match args
((file-name)
(or (json->code file-name)
(leave (G_ "invalid JSON in file '~a'~%") file-name)))
(catch 'system-error
(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~%")))
((many ...)