mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-29 09:04:17 +00:00
571c71e6f7
We are migrating packages that meet below requirements: 1. using `callPackage` 2. called path is a directory 3. overriding set is empty (`{ }`) 4. not containing path expressions other than relative path (to makenixpkgs-vet happy) 5. not referenced by nix files outside of the directory, other than`pkgs/top-level/all-packages.nix` 6. not referencing nix files outside of the directory 7. not referencing `default.nix` (since it's changed to `package.nix`) 8. `outPath` doesn't change after migration The tool is here: https://github.com/Aleksanaa/by-name-migrate.
38 lines
919 B
Diff
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)
|