aboutsummaryrefslogtreecommitdiff
path: root/gnu/build/file-systems.scm
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2017-05-30 11:12:58 +0200
committerDanny Milosavljevic <dannym@scratchpost.org>2017-05-31 21:13:15 +0200
commit203a9455c4695152fc5d0085bffeead9ce3216c2 (patch)
tree7f3637c0ed6395298875a9879cbd09a76e5a6ffd /gnu/build/file-systems.scm
parent1c25d6d06ee496fc5df62d61f51c520018c63d23 (diff)
downloadgnu-guix-203a9455c4695152fc5d0085bffeead9ce3216c2.tar
gnu-guix-203a9455c4695152fc5d0085bffeead9ce3216c2.tar.gz
file-systems: Improve error reporting.
Suggested by Chris Marusich <cmmarusich@gmail.com>. Fixes <https://bugs.gnu.org/27143>. * gnu/build/file-systems.scm (read-iso9660-primary-volume-descriptor): Improve error reporting.
Diffstat (limited to 'gnu/build/file-systems.scm')
-rw-r--r--gnu/build/file-systems.scm7
1 files changed, 6 insertions, 1 deletions
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 3b831c0ec0..3e0873377a 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -245,7 +245,12 @@ Trailing spaces are trimmed."
"Find and read the first primary volume descriptor, starting at OFFSET.
Return #f if not found."
(let* ((sblock (read-superblock device offset 2048 iso9660-superblock?))
- (type-code (if sblock (array-ref sblock 0) 255)))
+ (type-code (if sblock
+ (bytevector-u8-ref sblock 0)
+ (error (format #f
+ "Could not read ISO9660 primary
+volume descriptor from ~s"
+ device)))))
(match type-code
(255 #f) ; Volume Descriptor Set Terminator.
(1 sblock) ; Primary Volume Descriptor