Skip to content

Commit cdcc2b1

Browse files
authored
Merge pull request Enet4#34 from nicosalvato/date-parsing-33
Issue Enet4#33
2 parents d04ede7 + cd33d00 commit cdcc2b1

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

encoding/src/decode/primitive_value.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub fn parse_date(buf: &[u8]) -> Result<(NaiveDate, &[u8])> {
1111
0 | 5 | 7 => Err(InvalidValueReadError::UnexpectedEndOfElement.into()),
1212
1..=4 => {
1313
let year = read_number(buf)?;
14-
let date: Result<_> = NaiveDate::from_ymd_opt(year, 0, 0)
14+
let date: Result<_> = NaiveDate::from_ymd_opt(year, 1, 1)
1515
.ok_or_else(|| InvalidValueReadError::DateTimeZone.into());
1616
Ok((date?, &[]))
1717
}
@@ -276,6 +276,10 @@ mod tests {
276276
parse_date(b"19620728").unwrap(),
277277
(NaiveDate::from_ymd(1962, 7, 28), &[][..])
278278
);
279+
assert_eq!(
280+
parse_date(b"1902").unwrap(),
281+
(NaiveDate::from_ymd(1902, 1, 1), &[][..])
282+
);
279283
assert!(parse_date(b"").is_err());
280284
assert!(parse_date(b" ").is_err());
281285
assert!(parse_date(b"--------").is_err());

0 commit comments

Comments
 (0)