clix.raw: Nicer error reporting from the sandbox.

Fri, 29 Jun 2012 20:50:01 +0200

author
Kim Alvefur <zash@zash.se>
date
Fri, 29 Jun 2012 20:50:01 +0200
changeset 84
1b4e64176288
parent 83
040fadcc86f9
child 85
8bc27e310e64

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

mercurial