summaryrefslogtreecommitdiffstats
path: root/src/lib.rs
diff options
context:
space:
mode:
authorRomain Porte <microjoe@microjoe.org>2018-04-18 18:17:56 +0200
committerKartikaya Gupta (kats) <staktrace@users.noreply.github.com>2018-04-18 12:48:47 -0400
commitd10c28b41ef1b81d03875043ae304f67b3a80549 (patch)
treeb22868fac7d1f32a780da95eac310772c4e50bc1 /src/lib.rs
parentfddc259c9a1f4c8a18c40e24ea6b95a8afd4a398 (diff)
MailHeader::get_value: do not add space if special char parsed
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 8b33527..9a0e476 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -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(