aboutsummaryrefslogtreecommitdiff
path: root/Keywords
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2021-01-27 17:24:07 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2021-01-27 17:24:07 +0000
commit60f52c054d1fe1846b6ffcedf188c61cb553c464 (patch)
tree016f4c8bf71fbc4769fc5a281a6e70a9dc84058e /Keywords
parent6e5e33827d35dd7779c6d3dfded6b4783d7a271c (diff)
downloadports-60f52c054d1fe1846b6ffcedf188c61cb553c464.tar.gz
ports-60f52c054d1fe1846b6ffcedf188c61cb553c464.zip
Add error checks to @shell
Check errors from Lua io.* library calls to make it show useful error messages when they do occur instead of ("attempt to index a nil value") Submitted by: RhToad (in IRC) <andrew@tao173.riddles.org.uk> Differential Revision: https://reviews.freebsd.org/D27154
Notes
Notes: svn path=/head/; revision=563097
Diffstat (limited to 'Keywords')
-rw-r--r--Keywords/shell.ucl16
1 files changed, 8 insertions, 8 deletions
diff --git a/Keywords/shell.ucl b/Keywords/shell.ucl
index 27d0b460aeb3..e3f6583f6506 100644
--- a/Keywords/shell.ucl
+++ b/Keywords/shell.ucl
@@ -10,7 +10,7 @@
actions: [file]
post-install-lua: <<EOD
shell_path = pkg.prefixed_path("%@")
- shell = io.open("/etc/shells", "r+")
+ shell = assert(io.open("/etc/shells", "r+"))
while true do
line = shell:read()
if line == nil then break end
@@ -20,14 +20,14 @@ post-install-lua: <<EOD
return
end
end
- shell:write(shell_path .. "\n")
- shell:close()
+ assert(shell:write(shell_path .. "\n"))
+ assert(shell:close())
EOD
pre-deinstall-lua: <<EOD
shell_path = pkg.prefixed_path("%@")
shellsbuf = ""
shells_path = "/etc/shells"
- shell = io.open(shells_path, "r+")
+ shell = assert(io.open(shells_path, "r+"))
found = false
while true do
line = shell:read()
@@ -38,10 +38,10 @@ pre-deinstall-lua: <<EOD
shellsbuf = shellsbuf .. line .. "\n"
end
end
- shell:close()
+ assert(shell:close())
if found then
- shell = io.open(shells_path, "w+")
- shell:write(shellsbuf)
- shell:close()
+ shell = assert(io.open(shells_path, "w+"))
+ assert(shell:write(shellsbuf))
+ assert(shell:close())
end
EOD