Poco::Path::forDirectory("C:") throws if the path is disk-letter only
aleks-f opened this issue · 0 comments
aleks-f commented
Discussed in #4573
Originally posted by siren186 May 21, 2024
Is your feature request related to a problem? Please describe.
Poco::Path::forDirectory("G:\\abc\\"); // OK
Poco::Path::forDirectory("G:\\abc"); // OK
Poco::Path::forDirectory("G:\\"); // OK
Poco::Path::forDirectory("G:"); // Poco::PathSyntaxException
// Why not auto add backslash for directories
// If I use Poco::Path, I have to do something else like this:
std::string str = "G:";
if (!str.ends_with('\\'))
{
str.push_back('\\'); // To ensure Poco::Path not crash for me
}
Poco::Path::forDirectory(str);
Describe the solution you'd like
// If Poco::Path can auto add backslash for me, It can make my code looks more clean.
std::string str = "G:";
Poco::Path::forDirectory(str); // Please do not throw any exception
Describe alternatives you've considered
Or Poco can add some methods just like Windows API PathAddBackslash
do
LPWSTR PathAddBackslashW(
[in, out] LPWSTR pszPath
);