Fri, 29 Jun 2012 20:50:01 +0200
clix.raw: Nicer error reporting from the sandbox.
clix/raw.lua | file | annotate | diff | comparison | revisions |
--- a/clix/raw.lua Fri Jun 29 20:29:11 2012 +0200 +++ b/clix/raw.lua Fri Jun 29 20:50:01 2012 +0200 @@ -51,12 +51,19 @@ return end if data:sub(1,1) ~= "<" then - local chunk = assert(loadstring("return "..data, "@stdin")); + local chunk, err = loadstring("return "..data, "@stdin"); + if not chunk then + conn:error(err); + return; + end data = ""; setfenv(chunk, env); local ok, ret = pcall(chunk); if ok then data = ret + else + conn:error(ret); + return; end end if data then