diff options
author | Romain Porte <microjoe@microjoe.org> | 2018-04-18 18:17:56 +0200 |
---|---|---|
committer | Kartikaya Gupta (kats) <staktrace@users.noreply.github.com> | 2018-04-18 12:48:47 -0400 |
commit | d10c28b41ef1b81d03875043ae304f67b3a80549 (patch) | |
tree | b22868fac7d1f32a780da95eac310772c4e50bc1 /src/lib.rs | |
parent | fddc259c9a1f4c8a18c40e24ea6b95a8afd4a398 (diff) |
MailHeader::get_value: do not add space if special char parsed
Diffstat (limited to 'src/lib.rs')
-rw-r--r-- | src/lib.rs | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -241,7 +241,10 @@ impl<'a> MailHeader<'a> { continue; } match self.decode_word(&line[ix_begin..ix_end]) { - Some(v) => result.push_str(&v), + Some(v) => { + result.push_str(&v); + add_space = false; + } None => result.push_str(&line[ix_begin - 2..ix_end + 2]), }; ix_search = ix_end; @@ -928,7 +931,7 @@ mod tests { =?iso-8859-1?Q?_se=F1or!?=", ).unwrap(); assert_eq!(parsed.get_key().unwrap(), "Subject"); - assert_eq!(parsed.get_value().unwrap(), "\u{a1}Hola, se\u{f1}or!"); + assert_eq!(parsed.get_value().unwrap(), "\u{a1}Hola, se\u{f1}or!"); let (parsed, _) = parse_header(b"Euro: =?utf-8?Q?=E2=82=AC?=").unwrap(); assert_eq!(parsed.get_key().unwrap(), "Euro"); @@ -967,7 +970,7 @@ mod tests { assert_eq!(parsed.get_key().unwrap(), "Subject"); assert_eq!( parsed.get_value().unwrap(), - "[Ontario Builder] Understanding home shopping \u{2013} a q uick survey" + "[Ontario Builder] Understanding home shopping \u{2013} a quick survey" ); let (parsed, _) = parse_header( |