summaryrefslogtreecommitdiff
path: root/erlang/msgpack.erl
diff options
context:
space:
mode:
authorVincent de Phily <vincent.dephily@gmail.com>2010-07-09 20:34:38 +0200
committerVincent de Phily <vincent.dephily@gmail.com>2010-07-09 20:34:38 +0200
commit02c882bda39f65bdbe7be1b149b74f0f9a8283c6 (patch)
tree446d91a9121273f2cfca1c16c24e86a2109cdaa9 /erlang/msgpack.erl
parent2c29377abf1997d3a55178ef0562aa38d255f0fe (diff)
downloadmsgpack-python-02c882bda39f65bdbe7be1b149b74f0f9a8283c6.tar.gz
erlang: Make pack_map/1 api private
Diffstat (limited to 'erlang/msgpack.erl')
-rw-r--r--erlang/msgpack.erl22
1 files changed, 11 insertions, 11 deletions
diff --git a/erlang/msgpack.erl b/erlang/msgpack.erl
index 102efed..0e7fb5d 100644
--- a/erlang/msgpack.erl
+++ b/erlang/msgpack.erl
@@ -23,7 +23,6 @@
%% APIs are almost compatible with C API (http://msgpack.sourceforge.jp/c:doc)
%% except buffering functions (both copying and zero-copying).
-export([pack/1, unpack/1, unpack_all/1]).
--export([pack_map/1]).
% compile:
% erl> c(msgpack).
@@ -72,16 +71,6 @@ unpack_all(Data)->
[Term|unpack_all(Binary)]
end.
--spec pack_map(M::[{msgpack_term(),msgpack_term()}]) -> binary() | no_return().
-pack_map(M)->
- case length(M) of
- Len when Len < 16 ->
- << 2#1000:4, Len:4/integer-unit:1, (pack_map_(M, <<>>))/binary >>;
- Len when Len < 16#10000 -> % 65536
- << 16#DE:8, Len:16/big-unsigned-integer-unit:1, (pack_map_(M, <<>>))/binary >>;
- Len ->
- << 16#DF:8, Len:32/big-unsigned-integer-unit:1, (pack_map_(M, <<>>))/binary >>
- end.
% ===== internal APIs ===== %
@@ -188,6 +177,17 @@ unpack_array_(Bin, Len, Acc) ->
{Term, Rest} = unpack_(Bin),
unpack_array_(Rest, Len-1, [Term|Acc]).
+-spec pack_map(M::[{msgpack_term(),msgpack_term()}]) -> binary() | no_return().
+pack_map(M)->
+ case length(M) of
+ Len when Len < 16 ->
+ << 2#1000:4, Len:4/integer-unit:1, (pack_map_(M, <<>>))/binary >>;
+ Len when Len < 16#10000 -> % 65536
+ << 16#DE:8, Len:16/big-unsigned-integer-unit:1, (pack_map_(M, <<>>))/binary >>;
+ Len ->
+ << 16#DF:8, Len:32/big-unsigned-integer-unit:1, (pack_map_(M, <<>>))/binary >>
+ end.
+
pack_map_([], Acc) -> Acc;
pack_map_([{Key,Value}|Tail], Acc) ->
pack_map_(Tail, << Acc/binary, (pack_(Key))/binary, (pack_(Value))/binary>>).