From 9b638d99a76bbc954030b795e8be599ffddb80c2 Mon Sep 17 00:00:00 2001 From: Arcterus Date: Sat, 6 Dec 2014 02:57:08 -0800 Subject: [PATCH 1/2] base64: fix build (assuming rust-lang/rust#19594 is merged) --- src/base64/base64.rs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/base64/base64.rs b/src/base64/base64.rs index 5ec400149..7813a75c9 100644 --- a/src/base64/base64.rs +++ b/src/base64/base64.rs @@ -142,6 +142,7 @@ fn decode(input: &mut Reader, ignore_garbage: bool) { fn encode(input: &mut Reader, line_wrap: uint) { let b64_conf = base64::Config { char_set: base64::Standard, + newline: base64::Newline::LF, pad: true, line_length: match line_wrap { 0 => None, @@ -154,14 +155,7 @@ fn encode(input: &mut Reader, line_wrap: uint) { }; let encoded = to_encode.as_slice().to_base64(b64_conf); - // To my knowledge, RFC 3548 does not specify which line endings to use. It - // seems that rust's base64 algorithm uses CRLF as prescribed by RFC 2045. - // However, since GNU base64 outputs only LF (presumably because that is - // the standard UNIX line ending), we strip CRs from the output to maintain - // compatibility. - let output = encoded.replace("\r", ""); - - println(output.as_slice()); + println(encoded.as_slice()); } fn help(progname: &str, usage: &str) { From 3f90b75ffcee1aac93d6b9bc0b598e9dd671a7f6 Mon Sep 17 00:00:00 2001 From: Arcterus Date: Sat, 6 Dec 2014 16:35:32 -0800 Subject: [PATCH 2/2] base64: don't try to remove LF when decoding --- src/base64/base64.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/base64/base64.rs b/src/base64/base64.rs index 7813a75c9..817632bc4 100644 --- a/src/base64/base64.rs +++ b/src/base64/base64.rs @@ -115,7 +115,6 @@ fn decode(input: &mut Reader, ignore_garbage: bool) { num == '+' as u8 || num == '/' as u8) }) } else { - to_decode = to_decode.as_slice().replace("\n", ""); to_decode.as_slice() };