diff --git a/src/eFmt.erl b/src/eFmt.erl index f28fd45..f359fa4 100644 --- a/src/eFmt.erl +++ b/src/eFmt.erl @@ -202,16 +202,19 @@ visualAtomChar(_) -> false. writeList([], _D, _E, BinAcc) -> <>; writeList([One], D, E, BinAcc) -> - <>; + VBin = writeTerm(One, D, E), + <>; writeList([One | List], D, E, BinAcc) -> if D =:= 1 -> <>; true -> - writeList(List, D - 1, E, <>) + VBin = writeTerm(One, D, E), + writeList(List, D - 1, E, <>) end; writeList(Other, D, E, BinAcc) -> NewBinAcc = part(BinAcc, 0, byte_size(BinAcc) - 1), - <>. + VBin = writeTerm(Other, D, E), + <>. writeTuple(Tuple, D, E, Index, TupleSize, BinAcc) -> if @@ -219,9 +222,11 @@ writeTuple(Tuple, D, E, Index, TupleSize, BinAcc) -> true -> if Index < TupleSize -> - writeTuple(Tuple, D - 1, E, Index + 1, TupleSize, <>); + VBin = writeTerm(element(Index, Tuple), D - 1, E), + writeTuple(Tuple, D - 1, E, Index + 1, TupleSize, <>); Index == TupleSize -> - <>; + VBin = writeTerm(element(Index, Tuple), D - 1, E), + <>; true -> <> end @@ -263,13 +268,17 @@ writeBinary(Bin, D, BinAcc) -> <<>> -> <>">>; <> -> - <>">>; + VBin = integer_to_binary(Int), + <>">>; <> -> - writeBinary(LeftBin, D - 1, <>); + VBin = integer_to_binary(Int), + writeBinary(LeftBin, D - 1, <>); _ -> L = bit_size(Bin), <> = Bin, - <>">> + XBin = integer_to_binary(X), + LBin = integer_to_binary(L), + <>">> end end.