aboutsummaryrefslogtreecommitdiff
path: root/src/de.rs
diff options
context:
space:
mode:
authorEric Huss <eric@huss.org>2018-11-21 09:35:50 -0800
committerEric Huss <eric@huss.org>2018-11-21 09:35:50 -0800
commit2dc1913e0220a4113bd6a9eb165c55cda0bee590 (patch)
tree5a465664c0253556609b6bf285f1807d01e20469 /src/de.rs
parentf610ef33f4c12e363945ad3c80a1129b0389a699 (diff)
downloadmilf-rs-2dc1913e0220a4113bd6a9eb165c55cda0bee590.tar.gz
milf-rs-2dc1913e0220a4113bd6a9eb165c55cda0bee590.zip
Fix trailing space after date.
The space between date and time was being eagerly skipped when it shouldn't.
Diffstat (limited to 'src/de.rs')
-rw-r--r--src/de.rs13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/de.rs b/src/de.rs
index 491ae47..b5633ea 100644
--- a/src/de.rs
+++ b/src/de.rs
@@ -1035,13 +1035,12 @@ impl<'a> Deserializer<'a> {
let start = self.tokens.substr_offset(date);
// Check for space separated date and time.
- if let Some((_, Token::Whitespace(s))) = self.peek()? {
- if s == " " {
- self.next()?;
- // Skip past the hour.
- if let Some((_, Token::Keylike(_))) = self.peek()? {
- self.next()?;
- }
+ let mut lookahead = self.tokens.clone();
+ if let Ok(Some((_, Token::Whitespace(" ")))) = lookahead.next() {
+ // Check if hour follows.
+ if let Ok(Some((_, Token::Keylike(_)))) = lookahead.next() {
+ self.next()?; // skip space
+ self.next()?; // skip keylike hour
}
}