From e0275b59cd07db3d74cc0bdda31eba9c7e63b72b Mon Sep 17 00:00:00 2001 From: Mirek Fidler Date: Sat, 23 Nov 2024 12:01:07 +0100 Subject: [PATCH] Core: POSIX fixes of invalid file handling --- uppsrc/Core/TimeDate.cpp | 14 +++++++++----- upptst/InvalidFile/{etalon.log => Etalon.log} | 0 upptst/InvalidFile/InvalidFile.upp | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) rename upptst/InvalidFile/{etalon.log => Etalon.log} (100%) diff --git a/uppsrc/Core/TimeDate.cpp b/uppsrc/Core/TimeDate.cpp index 994d9fd69..8c70db363 100644 --- a/uppsrc/Core/TimeDate.cpp +++ b/uppsrc/Core/TimeDate.cpp @@ -467,11 +467,15 @@ FileTime Time::AsFileTime() const #ifdef PLATFORM_POSIX Time::Time(FileTime filetime) { - struct tm time_r; - struct tm *time = localtime_r(&filetime.ft, &time_r); - if(time) - *this = Time(time->tm_year + 1900, time->tm_mon + 1, time->tm_mday, - time->tm_hour, time->tm_min, time->tm_sec); + if(filetime) { + struct tm time_r; + struct tm *time = localtime_r(&filetime.ft, &time_r); + if(time) + *this = Time(time->tm_year + 1900, time->tm_mon + 1, time->tm_mday, + time->tm_hour, time->tm_min, time->tm_sec); + } + else + *this = Null; } FileTime Time::AsFileTime() const { diff --git a/upptst/InvalidFile/etalon.log b/upptst/InvalidFile/Etalon.log similarity index 100% rename from upptst/InvalidFile/etalon.log rename to upptst/InvalidFile/Etalon.log diff --git a/upptst/InvalidFile/InvalidFile.upp b/upptst/InvalidFile/InvalidFile.upp index 08d7885ce..44879fd03 100644 --- a/upptst/InvalidFile/InvalidFile.upp +++ b/upptst/InvalidFile/InvalidFile.upp @@ -3,7 +3,7 @@ uses file InvalidFile.cpp, - etalon.log; + Etalon.log; mainconfig "" = "";