clix/raw.lua

changeset 46
b5d6e443e571
parent 27
5b58c002d6ad
child 68
b7d92ed9c268
--- a/clix/raw.lua	Tue Dec 14 20:18:56 2010 +0000
+++ b/clix/raw.lua	Tue Feb 22 20:52:22 2011 +0000
@@ -6,9 +6,15 @@
 		print("Send/receive raw XML to/from the server");
 		return;
 	end
+	
+	local send_xml;
+	if opts.stdin then
+		send_xml = io.read("*a");
+	end
+	
 	local function on_connect(conn)
-		conn:hook("incoming-raw", print);
-		if opts.interactive or opts.stdin then
+		conn:hook("incoming-raw", function (data) print(data) end);
+		if opts.interactive then
 			local stdin = {
 				getfd = function () return 0; end;
 				dirty = function (self) return false; end;
@@ -33,7 +39,11 @@
 				onincoming = on_incoming, ondisconnect = function () end
 				}, "*l");
 		else
-			conn:send(table.concat(arg, " "));
+			if send_xml then
+				conn:send(send_xml);
+			else
+				conn:send(table.concat(arg, " "));
+			end
 			conn:close();
 		end
 

mercurial