mime_decode does work in this case, but it strips other characters as well.
The return value from one case in strip_spaces is not in the correct format. It returns a list of two elements, $= and a string, [$=, A] instead of concatenating and returning a single string [$= | A]. This is the format returned by the strip function for mime_decode, but it removes other characters as well, which may not be correct for every use case.
On Mon, Apr 27, 2009 at 12:10 PM, Igor Goryachev
<goryachev@...> wrote:
Christopher Stelma <
chris@...> writes:
> Trailing whitespace (after "=") is stripped, but the return value from
> base64:strip_spaces is not in the same format expected by
> base64:decode.
>
> example of the problem:
>
> ----------------------------------------------------------------------
> 3> base64:decode("cXV1eA==").
> <<"quux">>
> 4> base64:decode("cXV1eA==\n").
> ** exception error: no function clause matching
> base64:decode([61,"=Ae1VXc"],
>
> {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,
>
> -1,-1,-1,-1,-1,-1,-1,-1,...},
> [])
> in function base64:decode/1
> ----------------------------------------------------------------------
Hello, Christopher!
Doesn't base64:mime_decode/1 make deal?
% erl
Erlang (BEAM) emulator version 5.6.3 [source] [smp:2] [async-threads:0] [kernel-poll:false]
Eshell V5.6.3 (abort with ^G)
1> base64:mime_decode("cXV1eA==\n").
<<"quux">>
2>
--
Igor Goryachev
Yandex development team.
--
Christopher Stelma
chris@...
_______________________________________________
erlang-patches mailing list
erlang-patches@...
http://www.erlang.org/mailman/listinfo/erlang-patches