mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: improve consistency of fileName handling windows/non-windows (#2057)
- wrap command-line retrieval of fileName with an implicit validate.
Instead of this:
fileName input(args[1]);
fileName other(args["someopt"]);
Now use this:
auto input = args.get<fileName>(1);
auto other = args.get<fileName>("someopt");
which adds a fileName::validate on the inputs
Because of how it is implemented, it will automatically also apply
to argList getOrDefault<fileName>, readIfPresent<fileName> etc.
- adjust fileName::validate and clean to handle backslash conversion.
This makes it easier to ensure that path names arising from MS-Windows
are consistently handled internally.
- dictionarySearch: now check for initial '/' directly instead of
relying on fileName isAbsolute(), which now does more things
BREAKING: remove fileName::clean() const method
- relying on const/non-const to control the behaviour (inplace change
or return a copy) is too fragile and the const version was
almost never used.
Replace:
fileName sanitized = constPath.clean();
With:
fileName sanitized(constPath);
sanitized.clean());
STYLE: test empty() instead of comparing with fileName::null
This commit is contained in:
committed by
Andrew Heather
parent
96a1b86fb9
commit
b060378dca
@ -6,7 +6,7 @@
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
Copyright (C) 2015 OpenCFD Ltd.
|
||||
Copyright (C) 2015-2021 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -156,11 +156,11 @@ int main(int argc, char *argv[])
|
||||
);
|
||||
argList args(argc, argv);
|
||||
|
||||
const fileName surfFileName = args[1];
|
||||
const scalar lambda = args.get<scalar>(2);
|
||||
const scalar mu = args.get<scalar>(3);
|
||||
const label iters = args.get<label>(4);
|
||||
const fileName outFileName = args[5];
|
||||
const auto surfFileName = args.get<fileName>(1);
|
||||
const auto lambda = args.get<scalar>(2);
|
||||
const auto mu = args.get<scalar>(3);
|
||||
const auto iters = args.get<label>(4);
|
||||
const auto outFileName = args.get<fileName>(5);
|
||||
|
||||
if (lambda < 0 || lambda > 1)
|
||||
{
|
||||
@ -192,7 +192,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (args.found("featureFile"))
|
||||
{
|
||||
const fileName featureFileName(args["featureFile"]);
|
||||
const auto featureFileName = args.get<fileName>("featureFile");
|
||||
Info<< "Reading features from " << featureFileName << " ..." << endl;
|
||||
|
||||
edgeMesh feMesh(featureFileName);
|
||||
|
||||
Reference in New Issue
Block a user