|
@ -181,27 +181,39 @@ writeMapBody(I, D, E, BinAcc) -> |
|
|
end |
|
|
end |
|
|
end. |
|
|
end. |
|
|
|
|
|
|
|
|
writeBinary(Bin, D) -> |
|
|
|
|
|
|
|
|
writeBinary(Bin, D, BinAcc) -> |
|
|
if |
|
|
if |
|
|
D == 1 -> |
|
|
D == 1 -> |
|
|
<<"...">>; |
|
|
|
|
|
|
|
|
<<BinAcc/binary, "...>>">>; |
|
|
true -> |
|
|
true -> |
|
|
<<"<<", Bin/binary, ">>">> |
|
|
|
|
|
|
|
|
case Bin of |
|
|
|
|
|
<<>> -> |
|
|
|
|
|
<<BinAcc/binary, ">>">>; |
|
|
|
|
|
<<Int:8>> -> |
|
|
|
|
|
<<BinAcc/binary, (integer_to_binary(Int))/binary, ">>">>; |
|
|
|
|
|
<<Int:8, LeftBin/bitstring>> -> |
|
|
|
|
|
writeBinary(LeftBin, D - 1, <<BinAcc/binary, (integer_to_binary(Int))/binary, ",">>); |
|
|
|
|
|
_ -> |
|
|
|
|
|
L = bit_size(Bin), |
|
|
|
|
|
<<X:L>> = Bin, |
|
|
|
|
|
<<BinAcc/binary, (integer_to_binary(X))/binary, ":", (integer_to_binary(L))/binary, ">>">> |
|
|
|
|
|
end |
|
|
end. |
|
|
end. |
|
|
|
|
|
|
|
|
writeTerm(_Term, 0, _E) -> <<"...">>; |
|
|
writeTerm(_Term, 0, _E) -> <<"...">>; |
|
|
writeTerm(Term, _D, _E) when is_integer(Term) -> ?writeInt(Term); |
|
|
writeTerm(Term, _D, _E) when is_integer(Term) -> ?writeInt(Term); |
|
|
writeTerm(Term, _D, _E) when is_float(Term) -> ?writeFloat(Term); |
|
|
|
|
|
writeTerm(Atom, _D, E) when is_atom(Atom) -> ?writeAtom(Atom, E); |
|
|
writeTerm(Atom, _D, E) when is_atom(Atom) -> ?writeAtom(Atom, E); |
|
|
writeTerm(Term, _D, _E) when is_port(Term) -> ?writePort(Term); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_pid(Term) -> ?writePid(Term); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_reference(Term) -> ?writeRef(Term); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_function(Term) -> ?writeFun(Term); |
|
|
|
|
|
writeTerm(Term, D, _E) when is_binary(Term) -> writeBinary(Term, D); |
|
|
|
|
|
writeTerm(Term, D, _E) when is_bitstring(Term) -> writeBinary(Term, D); |
|
|
|
|
|
writeTerm(Term, D, E) when is_list(Term) -> writeList(Term, D, E, <<"[">>); |
|
|
writeTerm(Term, D, E) when is_list(Term) -> writeList(Term, D, E, <<"[">>); |
|
|
writeTerm(Term, D, E) when is_map(Term) -> writeMap(Term, D, E, <<"#{">>); |
|
|
writeTerm(Term, D, E) when is_map(Term) -> writeMap(Term, D, E, <<"#{">>); |
|
|
writeTerm(Term, D, E) when is_tuple(Term) -> writeTuple(Term, D, E, 1, tuple_size(Term), <<"{">>). |
|
|
|
|
|
|
|
|
writeTerm(Term, D, E) when is_tuple(Term) -> writeTuple(Term, D, E, 1, tuple_size(Term), <<"{">>); |
|
|
|
|
|
writeTerm(Term, D, _E) when is_bitstring(Term) -> writeBinary(Term, D, <<"<<">>); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_pid(Term) -> ?writePid(Term); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_float(Term) -> ?writeFloat(Term); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_port(Term) -> ?writePort(Term); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_reference(Term) -> ?writeRef(Term); |
|
|
|
|
|
writeTerm(Term, _D, _E) when is_function(Term) -> ?writeFun(Term). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%% ********************************************** eFmt end ************************************************************* |
|
|
%% ********************************************** eFmt end ************************************************************* |
|
|
%% ********************************************** eFmtFormat start ***************************************************** |
|
|
%% ********************************************** eFmtFormat start ***************************************************** |
|
|