Revert string expansion of leading '.' and './' to the original behaviour.

* Now that the expansion of FOAM_CASE is delayed in the boundary conditions,
  the old expansion is simpler and seems to work better with IOobjects.
This commit is contained in:
Mark Olesen
2008-06-10 10:23:14 +02:00
parent 18f6a0100b
commit 0cbbefb3a6

View File

@ -209,32 +209,16 @@ Foam::string& Foam::string::expand()
*this = home(user)/file; *this = home(user)/file;
} }
} }
else else if (operator[](0) == '.')
{ {
// expand a lone initial '.' and './' into CWD // Expand initial '.' and './' into cwd
// otherwise strip leading './' sequences if (size() == 1)
while
(
operator[](0) == '.'
&& (size() == 1 || operator[](1) == '/')
)
{ {
// handle leading ".////" as well *this = cwd();
size_type slashPos = 1; }
while (size() > slashPos && operator[](slashPos) == '/') else if (operator[](1) == '/')
{ {
++slashPos; std::string::replace(0, 1, cwd());
}
if (size() <= slashPos)
{
*this = cwd();
break;
}
else
{
std::string::erase(0, slashPos);
}
} }
} }
} }