diff --git a/src/eFmt.erl b/src/eFmt.erl index 5ed02f8..a7b98c6 100644 --- a/src/eFmt.erl +++ b/src/eFmt.erl @@ -158,7 +158,8 @@ writeList([One | List], D, E, BinAcc) -> writeList(List, D - 1, E, <>) end; writeList(Other, D, E, BinAcc) -> - <>. + NewBinAcc = binary:part(BinAcc, 0, erlang:byte_size(BinAcc) - 1), + <>. writeTuple(Tuple, D, E, Index, TupleSize, BinAcc) -> if @@ -260,11 +261,12 @@ writeList(Other, Depth, Width, Encoding, Strings, SumLC, BinAcc) -> TermBin = writeTerm(Other, Depth, Width, Encoding, Strings), TermBinBinSize = erlang:byte_size(TermBin), NewSumLC = SumLC + TermBinBinSize, + NewBinAcc = binary:part(BinAcc, 0, erlang:byte_size(BinAcc) - 1), case NewSumLC >= Width of true -> - <>; + <>; _ -> - <> + <> end. writeTuple(Tuple, Depth, Width, Encoding, Strings, Index, TupleSize, SumLC, BinAcc) ->