Fixed: Dates before 1970 causing an exception.

Fixes #1913
This commit is contained in:
Leonardo Galli 2018-03-04 15:42:15 +01:00
commit 57adf0e3a5
2 changed files with 12 additions and 0 deletions

View file

@ -294,12 +294,22 @@ namespace NzbDrone.Common.Disk
{ {
Ensure.That(path, () => path).IsValidPath(); Ensure.That(path, () => path).IsValidPath();
if (dateTime.Before(DateTimeExtensions.Epoch))
{
dateTime = DateTimeExtensions.Epoch;
}
Directory.SetLastWriteTimeUtc(path, dateTime); Directory.SetLastWriteTimeUtc(path, dateTime);
} }
public void FileSetLastWriteTime(string path, DateTime dateTime) public void FileSetLastWriteTime(string path, DateTime dateTime)
{ {
Ensure.That(path, () => path).IsValidPath(); Ensure.That(path, () => path).IsValidPath();
if (dateTime.Before(DateTimeExtensions.Epoch))
{
dateTime = DateTimeExtensions.Epoch;
}
File.SetLastWriteTime(path, dateTime); File.SetLastWriteTime(path, dateTime);
} }

View file

@ -38,5 +38,7 @@ namespace NzbDrone.Common.Extensions
{ {
return dateTime >= afterDateTime && dateTime <= beforeDateTime; return dateTime >= afterDateTime && dateTime <= beforeDateTime;
} }
public static DateTime Epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
} }
} }