diff options
author | Blaine Whittle <[email protected]> | 2010-10-06 12:56:09 -0700 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-10-07 15:51:53 +0200 |
commit | 5eff630532b9421a0481b3f727cc3bd58b4ad642 (patch) | |
tree | 453e92e2e6d6364b7c3b34ce12f92b4939b874a0 /lib/tv/src | |
parent | d8f8eeba477fd8872f1136fc507fa299f013cc46 (diff) | |
download | otp-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/src')
-rw-r--r-- | lib/tv/src/tv_io_lib.erl | 9 |
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) -> "{}"; |