[thrift] erlang: fixing error logger for devious "not-quite-right" lists

Summary: ... a la dictionary

Reviewed By: cpiro

Test Plan: bin_trim of a dict with a stored integer value

Revert Plan: sure


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665531 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/erl/src/thrift_logger.erl b/lib/erl/src/thrift_logger.erl
index bf1f54b..e9963c0 100644
--- a/lib/erl/src/thrift_logger.erl
+++ b/lib/erl/src/thrift_logger.erl
@@ -15,7 +15,7 @@
 -export([init/1, handle_event/2, handle_call/2,
          handle_info/2, terminate/2, code_change/3]).
 
--export([install/0]).
+-export([install/0, bin_trim/1]).
 
 %%
 
@@ -112,8 +112,12 @@
 
 %%
 
-bin_trim(L) when is_list(L) ->
-    lists:map(fun bin_trim/1, L);
+bin_trim([]) ->
+    [];
+bin_trim([H|T]) ->
+    [bin_trim(H) | bin_trim(T)];
+bin_trim({}) ->
+    {};
 bin_trim(T) when is_tuple(T) ->
     list_to_tuple(bin_trim(tuple_to_list(T)));
 bin_trim(Bin) when is_binary(Bin), size(Bin) > 100 ->