diff --git a/src/mimemail.erl b/src/mimemail.erl index 93a6cb0e..a8faf8f7 100644 --- a/src/mimemail.erl +++ b/src/mimemail.erl @@ -637,31 +637,30 @@ guess_best_encoding(Body) -> encode_parameters([[]]) -> []; encode_parameters(Parameters) -> - lists:map(fun encode_parameter/1, Parameters). + [encode_parameter(Parameter) || Parameter <- Parameters]. - encode_parameter({X, Y}) -> - case escape_tspecial(Y, false, <<>>) of - {true, Special} -> [X, $=, $", Special, $"]; - false -> [X, $=, Y] - end. +encode_parameter({X, Y}) -> + case escape_tspecial(Y, false, <<>>) of + {true, Special} -> [X, $=, $", Special, $"]; + false -> [X, $=, Y] + end. - % See also: http://www.ietf.org/rfc/rfc2045.txt section 5.1 - escape_tspecial(<<>>, false, _Acc) -> - false; - escape_tspecial(<<>>, IsSpecial, Acc) -> - {IsSpecial, Acc}; - escape_tspecial(<>, _IsSpecial, Acc) when C =:= $" -> - escape_tspecial(Rest, true, <>); - escape_tspecial(<>, _IsSpecial, Acc) when C =:= $\\ -> - escape_tspecial(Rest, true, <>); - escape_tspecial(<>, _IsSpecial, Acc) - when C =:= $(; C =:= $); C =:= $<; C =:= $>; C =:= $@; - C =:= $,; C =:= $;; C =:= $:; - C =:= $/; C =:= $[; C =:= $]; C =:= $?; C =:= $=; - C =:= $\s -> - escape_tspecial(Rest, true, <>); - escape_tspecial(<>, IsSpecial, Acc) -> - escape_tspecial(Rest, IsSpecial, <>). +% See also: http://www.ietf.org/rfc/rfc2045.txt section 5.1 +escape_tspecial(<<>>, false, _Acc) -> + false; +escape_tspecial(<<>>, IsSpecial, Acc) -> + {IsSpecial, Acc}; +escape_tspecial(<>, _IsSpecial, Acc) when C =:= $" -> + escape_tspecial(Rest, true, <>); +escape_tspecial(<>, _IsSpecial, Acc) when C =:= $\\ -> + escape_tspecial(Rest, true, <>); +escape_tspecial(<>, _IsSpecial, Acc) + when C =:= $(; C =:= $); C =:= $<; C =:= $>; C =:= $@; + C =:= $,; C =:= $;; C =:= $:; C =:= $/; C =:= $[; + C =:= $]; C =:= $?; C =:= $=; C =:= $\s -> + escape_tspecial(Rest, true, <>); +escape_tspecial(<>, IsSpecial, Acc) -> + escape_tspecial(Rest, IsSpecial, <>). encode_headers(Headers) -> encode_headers(Headers, []).