diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2021-01-27 17:24:07 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2021-01-27 17:24:07 +0000 |
commit | 60f52c054d1fe1846b6ffcedf188c61cb553c464 (patch) | |
tree | 016f4c8bf71fbc4769fc5a281a6e70a9dc84058e /Keywords | |
parent | 6e5e33827d35dd7779c6d3dfded6b4783d7a271c (diff) | |
download | ports-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.ucl | 16 |
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 |