FIX: Allow negative Unix-time (issue #1700)

This commit is contained in:
Alexander Koblov 2024-06-15 12:55:12 +03:00
commit 035cee8d76

View file

@ -520,9 +520,6 @@ var
Year, Month, Day: Word;
Hour, Minute, Second, MilliSecond: Word;
begin
if DateTime < UnixEpoch then
raise EDateOutOfRange.Create(DateTime);
DecodeDate(DateTime, Year, Month, Day);
DecodeTime(DateTime, Hour, Minute, Second, MilliSecond);
@ -538,7 +535,7 @@ begin
AUnixTime:= fpMkTime(@ATime);
if (AUnixTime < 0) then
if (AUnixTime = -1) then
Result:= 0
else begin
Result:= TUnixFileTime(AUnixTime);
@ -579,7 +576,7 @@ begin
AUnixTime:= fpMkTime(@ATime);
if (AUnixTime < 0) then
if (AUnixTime = -1) then
Result:= TFileTimeExNull
else begin
Result:= TFileTimeEx.create(AUnixTime, MilliSecond*1000*1000);