aboutsummaryrefslogtreecommitdiffstats
path: root/lib/tv
diff options
context:
space:
mode:
authorBlaine Whittle <[email protected]>2010-10-06 12:56:09 -0700
committerBjörn Gustavsson <[email protected]>2010-10-07 15:51:53 +0200
commit5eff630532b9421a0481b3f727cc3bd58b4ad642 (patch)
tree453e92e2e6d6364b7c3b34ce12f92b4939b874a0 /lib/tv
parentd8f8eeba477fd8872f1136fc507fa299f013cc46 (diff)
downloadotp-5eff630532b9421a0481b3f727cc3bd58b4ad642.tar.gz
otp-5eff630532b9421a0481b3f727cc3bd58b4ad642.tar.bz2
otp-5eff630532b9421a0481b3f727cc3bd58b4ad642.zip
tv: Allow table viewer to display refs, ports and small binaries
Table viewer displayed #Port, #Ref, or #Bin as place holders for their respective object types in ets and mnesia tables. This can make table viewer difficult to use when viewing tables containing those data types. It doesn't make sense to render large binaries so #Bin will still be used for binaries that exceed 100 bytes.
Diffstat (limited to 'lib/tv')
-rw-r--r--lib/tv/src/tv_io_lib.erl9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/tv/src/tv_io_lib.erl b/lib/tv/src/tv_io_lib.erl
index f693ff796d..5457575b7d 100644
--- a/lib/tv/src/tv_io_lib.erl
+++ b/lib/tv/src/tv_io_lib.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 1998-2009. All Rights Reserved.
+%% Copyright Ericsson AB 1998-2010. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
@@ -52,10 +52,11 @@ write(_Term, 0) -> "...";
write(Term, _D) when is_integer(Term) -> integer_to_list(Term);
write(Term, _D) when is_float(Term) -> tv_io_lib_format:fwrite_g(Term);
write(Atom, _D) when is_atom(Atom) -> write_atom(Atom);
-write(Term, _D) when is_port(Term) -> "#Port";
+write(Term, _D) when is_port(Term) -> lists:flatten(io_lib:write(Term));
write(Term, _D) when is_pid(Term) -> pid_to_list(Term);
-write(Term, _D) when is_reference(Term) -> "#Ref";
-write(Term, _D) when is_binary(Term) -> "#Bin";
+write(Term, _D) when is_reference(Term) -> io_lib:write(Term);
+write(Term, _D) when is_binary(Term), byte_size(Term) > 100 -> "#Bin";
+write(Term, _D) when is_binary(Term) -> "<<\"" ++ binary_to_list(Term) ++ "\">>";
write(Term, _D) when is_bitstring(Term) -> "#Bitstr";
write([], _D) -> "[]";
write({}, _D) -> "{}";