Commit 65d2394b authored by Mark Olesen's avatar Mark Olesen
Browse files

BUG: windows IOobject::path() incorrect from absolute (fixes #1738)

- only checked if it started with '/' and not 'd:/' (for example).
parent 15d6febe
......@@ -40,7 +40,7 @@ namespace Foam
char Foam::IOobject::scopeSeparator
(
#ifdef _WIN32
// Windows: using ':' for scoping conflicts with d:/path etc
// Windows: using ':' causes scoping conflicts with d:/path etc
Foam::debug::infoSwitch("scopeSeparator", '_')
#else
Foam::debug::infoSwitch("scopeSeparator", ':')
......@@ -467,10 +467,19 @@ const Foam::fileName& Foam::IOobject::caseName() const
Foam::fileName Foam::IOobject::path() const
{
// A file is 'outside' of the case if it has been specified using an
// absolute path (starts with '/')
// absolute path
if (instance().starts_with('/'))
const auto first = instance().find('/');
if
(
first == 0
#ifdef _WIN32
|| (first == 2 && instance()[1] == ':') // Eg, d:/path
#endif
)
{
// Absolute path (starts with '/' or 'd:/')
return instance();
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment