diff options
Diffstat (limited to 'bencode.erl')
| -rw-r--r-- | bencode.erl | 12 |
1 files changed, 10 insertions, 2 deletions
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 %% %% %% %% %% %% %% %% |
