diff options
author | Kartikaya Gupta <kats@seldon.staktrace.com> | 2016-10-02 15:12:57 -0400 |
---|---|---|
committer | Kartikaya Gupta <kats@seldon.staktrace.com> | 2016-10-02 15:12:57 -0400 |
commit | 6670ad6bb7a31b850450519ed39686f76a925594 (patch) | |
tree | 27b460a92af14799f586c184c3c10574dd7f7ac7 | |
parent | d85b01cc2bd01623fc8b76601ba5baba675ba388 (diff) |
Fix dateparse to not overflow on larger timezones
-rw-r--r-- | src/dateparse.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/dateparse.rs b/src/dateparse.rs index 08f5b40..59fb478 100644 --- a/src/dateparse.rs +++ b/src/dateparse.rs @@ -143,7 +143,7 @@ pub fn dateparse(date: &str) -> Result<i64, &'static str> { continue; }, DateParseState::Timezone => { - let (tz, tz_sign) = match tok.parse::<i16>() { + let (tz, tz_sign) = match tok.parse::<i32>() { Ok(v) if v < 0 => (-v, -1), Ok(v) => (v, 1), Err(_) => return Err("Invalid timezone"), @@ -174,5 +174,6 @@ mod tests { assert_eq!(dateparse("Fri, 31 Dec 2100 00:00:00 +0000").unwrap(), 4133894400); assert_eq!(dateparse("Fri, 31 Dec 2399 00:00:00 +0000").unwrap(), 13569379200); assert_eq!(dateparse("Fri, 31 Dec 2400 00:00:00 +0000").unwrap(), 13601001600); + assert_eq!(dateparse("17 Sep 2016 16:05:38 -1000").unwrap(), 1474164338); } } |