summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2011-11-24 17:20:50 +0000
committerSimon MacMullen <simon@rabbitmq.com>2011-11-24 17:20:50 +0000
commit8361f7e9c7542d1468a26a5b80b4ff9ecb6bacb1 (patch)
treedcffc0543426a190043b8313bff4b687775cda44
parent586eab144380932dbcae787fdc4dc94c85605162 (diff)
downloadrabbitmq-server-8361f7e9c7542d1468a26a5b80b4ff9ecb6bacb1.tar.gz
Also handle tokenising errors somewhat.
-rw-r--r--src/rabbit_control.erl21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 2858e55c..6fa25ba6 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -371,14 +371,19 @@ action(report, Node, _Args, _Opts, Inform) ->
ok;
action(eval, Node, [Expr], _Opts, _Inform) ->
- {ok, Scanned, _} = erl_scan:string(Expr),
- case erl_parse:parse_exprs(Scanned) of
- {ok, Parsed} ->
- {value, Value, _} = unsafe_rpc(Node, erl_eval, exprs, [Parsed, []]),
- io:format("~p~n", [Value]),
- ok;
- {error, {1, erl_parse, Err}} ->
- {error, Err}
+ case erl_scan:string(Expr) of
+ {ok, Scanned, _} ->
+ case erl_parse:parse_exprs(Scanned) of
+ {ok, Parsed} ->
+ {value, Value, _} = unsafe_rpc(
+ Node, erl_eval, exprs, [Parsed, []]),
+ io:format("~p~n", [Value]),
+ ok;
+ {error, {1, erl_parse, Err}} ->
+ {error, Err}
+ end;
+ {error, {1, erl_scan, E}, _} ->
+ {error, ["scan error: ", E]}
end.
%%----------------------------------------------------------------------------