Erik's fix to LONG strings
This commit is contained in:
parent
74791cfe52
commit
302c1c211d
@ -128,7 +128,9 @@ serialize(String) when ?IS_FATE_STRING(String),
|
|||||||
?FATE_STRING_SIZE(String) > 0,
|
?FATE_STRING_SIZE(String) > 0,
|
||||||
?FATE_STRING_SIZE(String) >= ?SHORT_STRING_SIZE ->
|
?FATE_STRING_SIZE(String) >= ?SHORT_STRING_SIZE ->
|
||||||
Bytes = ?FATE_STRING_VALUE(String),
|
Bytes = ?FATE_STRING_VALUE(String),
|
||||||
<<?LONG_STRING, (aeser_rlp:encode(Bytes))/binary>>;
|
<<?LONG_STRING,
|
||||||
|
(serialize_integer(?FATE_STRING_SIZE(String) - ?SHORT_STRING_SIZE))/binary
|
||||||
|
, Bytes/binary>>;
|
||||||
serialize(?FATE_ADDRESS(Address)) when is_binary(Address) ->
|
serialize(?FATE_ADDRESS(Address)) when is_binary(Address) ->
|
||||||
<<?OBJECT, ?OTYPE_ADDRESS, (aeser_rlp:encode(Address))/binary>>;
|
<<?OBJECT, ?OTYPE_ADDRESS, (aeser_rlp:encode(Address))/binary>>;
|
||||||
serialize(?FATE_HASH(Address)) when is_binary(Address) ->
|
serialize(?FATE_HASH(Address)) when is_binary(Address) ->
|
||||||
@ -321,8 +323,11 @@ deserialize2(<<?POS_BITS, Rest/binary>>) ->
|
|||||||
{Bint, Rest2} = aeser_rlp:decode_one(Rest),
|
{Bint, Rest2} = aeser_rlp:decode_one(Rest),
|
||||||
{?FATE_BITS(binary:decode_unsigned(Bint)), Rest2};
|
{?FATE_BITS(binary:decode_unsigned(Bint)), Rest2};
|
||||||
deserialize2(<<?LONG_STRING, Rest/binary>>) ->
|
deserialize2(<<?LONG_STRING, Rest/binary>>) ->
|
||||||
{String, Rest2} = aeser_rlp:decode_one(Rest),
|
{S, Rest2} = deserialize_one(Rest),
|
||||||
{?MAKE_FATE_STRING(String), Rest2};
|
Size = S + ?SHORT_STRING_SIZE,
|
||||||
|
String = binary:part(Rest2, 0, Size),
|
||||||
|
Rest3 = binary:part(Rest2, byte_size(Rest2), - (byte_size(Rest2) - Size)),
|
||||||
|
{?MAKE_FATE_STRING(String), Rest3};
|
||||||
deserialize2(<<S:6, ?SHORT_STRING:2, Rest/binary>>) ->
|
deserialize2(<<S:6, ?SHORT_STRING:2, Rest/binary>>) ->
|
||||||
String = binary:part(Rest, 0, S),
|
String = binary:part(Rest, 0, S),
|
||||||
Rest2 = binary:part(Rest, byte_size(Rest), - (byte_size(Rest) - S)),
|
Rest2 = binary:part(Rest, byte_size(Rest), - (byte_size(Rest) - S)),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user