summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Garnock-Jones <tonyg@lshift.net>2009-09-18 12:56:33 +0100
committerTony Garnock-Jones <tonyg@lshift.net>2009-09-18 12:56:33 +0100
commitd76ffceb2b54a20b028ee7a3c0be40b01516ba94 (patch)
tree25dccce47bc6c30d3c941da4f634038240995a73
parent3d53ddc7cafc8dcaa560118285d2b96d26ab9579 (diff)
parentd314c99966c715b6949222863fff2f99513c575c (diff)
downloadrabbitmq-server-d76ffceb2b54a20b028ee7a3c0be40b01516ba94.tar.gz
merge bug21596 into default
-rw-r--r--docs/rabbitmqctl.1.pod2
-rw-r--r--src/rabbit_control.erl13
-rw-r--r--src/rabbit_reader.erl2
3 files changed, 11 insertions, 6 deletions
diff --git a/docs/rabbitmqctl.1.pod b/docs/rabbitmqctl.1.pod
index 6d4aadeb..c43ed2ea 100644
--- a/docs/rabbitmqctl.1.pod
+++ b/docs/rabbitmqctl.1.pod
@@ -287,7 +287,7 @@ separated by tab characters.
List queue information by virtual host. Each line printed describes an
connection, with the requested I<connectioninfoitem> values separated
by tab characters. If no I<connectioninfoitem>s are specified then
-I<user>, I<peer_address> and I<peer_port> are assumed.
+I<user>, I<peer_address>, I<peer_port> and I<state> are assumed.
=back
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 69e21f7e..69e91803 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -164,7 +164,7 @@ exchange name, routing key, queue name and arguments, in that order.
<ConnectionInfoItem> must be a member of the list [node, address, port,
peer_address, peer_port, state, channels, user, vhost, timeout, frame_max,
recv_oct, recv_cnt, send_oct, send_cnt, send_pend]. The default is to display
-user, peer_address and peer_port.
+user, peer_address, peer_port and state.
"),
halt(1).
@@ -270,8 +270,9 @@ action(list_bindings, Node, Args, Inform) ->
action(list_connections, Node, Args, Inform) ->
Inform("Listing connections", []),
- ArgAtoms = list_replace(node, pid,
- default_if_empty(Args, [user, peer_address, peer_port])),
+ ArgAtoms = list_replace(node, pid,
+ default_if_empty(Args, [user, peer_address,
+ peer_port, state])),
display_info_list(rpc_call(Node, rabbit_networking, connection_info_all,
[ArgAtoms]),
ArgAtoms);
@@ -336,6 +337,8 @@ format_info_item(Key, Items) ->
atom_to_list(node(Value));
Value when is_binary(Value) ->
escape(Value);
+ Value when is_atom(Value) ->
+ escape(atom_to_list(Value));
Value ->
io_lib:format("~w", [Value])
end.
@@ -362,7 +365,9 @@ rpc_call(Node, Mod, Fun, Args) ->
%% form part of UTF-8 strings.
escape(Bin) when binary(Bin) ->
- escape_char(lists:reverse(binary_to_list(Bin)), []).
+ escape(binary_to_list(Bin));
+escape(L) when is_list(L) ->
+ escape_char(lists:reverse(L), []).
escape_char([$\\ | T], Acc) ->
escape_char(T, [$\\, $\\ | Acc]);
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 69dbc008..690e6f0e 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -703,7 +703,7 @@ i(channels, #v1{}) ->
i(user, #v1{connection = #connection{user = #user{username = Username}}}) ->
Username;
i(user, #v1{connection = #connection{user = none}}) ->
- none;
+ '';
i(vhost, #v1{connection = #connection{vhost = VHost}}) ->
VHost;
i(timeout, #v1{connection = #connection{timeout_sec = Timeout}}) ->