[erlang-patches] base64:decode trailing whitespace patch for otp_src_R13B/lib/stdlib/src/base64.erl

Christopher Stelma chris@REDACTED
Mon Apr 27 18:53:19 CEST 2009


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@REDACTED>wrote:

> Christopher Stelma <chris@REDACTED> 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@REDACTED
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-patches/attachments/20090427/d8ad9df5/attachment.htm>


More information about the erlang-patches mailing list