From 8f58c5aa02fa992d4eb6676367f0f5a371e5d3e2 Mon Sep 17 00:00:00 2001 From: tarka Date: Sun, 14 May 2006 02:49:45 -0700 Subject: Add encoding for strings, lists and integers, and appropriate tests. --- bencode.erl | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'bencode.erl') diff --git a/bencode.erl b/bencode.erl index fb8e9f3..a335ab9 100644 --- a/bencode.erl +++ b/bencode.erl @@ -7,8 +7,16 @@ %% %% %% %% %% %% %% %% Decoding %% %% %% %% %% %% %% %% -bencode(Val) when is_integer(Val) -> - "i" ++ integer_to_list(Val) ++ "e". +bencode({int, Val}) -> + "i" ++ integer_to_list(Val) ++ "e"; + +bencode({string, Val}) -> + integer_to_list(length(Val)) ++ ":" ++ Val; + +bencode({list, Val}) -> + Fun = fun(A) -> bencode(A) end, + "l" ++ lists:flatten(lists:map(Fun, Val)) ++ "e". + %% %% %% %% %% %% %% %% Decoding %% %% %% %% %% %% %% %% -- cgit v1.2.3