Files
nixpkgs/pkgs/by-name/sc/scorched3d/file-existence.patch
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

38 lines
919 B
Diff

diff --git a/src/common/common/DefinesFile.cpp b/src/common/common/DefinesFile.cpp
index 6ad803d..022797a 100644
--- a/src/common/common/DefinesFile.cpp
+++ b/src/common/common/DefinesFile.cpp
@@ -36,6 +36,17 @@
#include <unistd.h>
#endif
+namespace {
+ bool fileCanBeStated(const std::string &file)
+ {
+ struct stat buf;
+ memset(&buf, 0, sizeof(buf));
+ int result = stat(file.c_str(), &buf );
+
+ return result == 0;
+ }
+}
+
std::string S3D::getHomeDir()
{
#ifdef _WIN32
@@ -74,12 +85,12 @@ bool S3D::dirMake(const std::string &file)
bool S3D::fileExists(const std::string &file)
{
- return (S3D::fileModTime(file) != 0);
+ return fileCanBeStated(file);
}
bool S3D::dirExists(const std::string &file)
{
- return (S3D::fileModTime(file) != 0);
+ return fileCanBeStated(file);
}
time_t S3D::fileModTime(const std::string &file)