Subject: [Boost-bugs] [Boost C++ Libraries] #5649: create_directories() fails with NTFS mounted volumes
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-06-28 09:49:49
#5649: create_directories() fails with NTFS mounted volumes
----------------------------------------------------+-----------------------
Reporter: Tomas Kazmar <tomash.kazmar@â¦> | Owner:
Type: Bugs | Status: new
Milestone: To Be Determined | Component: None
Version: Boost 1.46.1 | Severity: Problem
Keywords: |
----------------------------------------------------+-----------------------
When there is an NTFS mounted volume at some level in the path which is
passed to `create_directories`. The function fails because of the first
two checks:
{{{
#!div style="font-size: 80%"
{{{#!c++
BOOST_FILESYSTEM_DECL
bool create_directories(const path& p, system::error_code* ec)
{
if (p.empty() || exists(p))
{
if (!p.empty() && !is_directory(p))
{
...throws/returns an error...
}}}
}}}
For a mounted volume path p is not `empty`, it `exists`, but
`is_directory(p)` fails. This happens because a mounted volume directory
is reported by `status(p)` as `file_type::reparse_file`.
Probably `is_directory()` should be changed to accept existing NTFS
mounted volumes as already existing directories along the path which is to
be created.
Windows 7 64bit, Boost 1.46.1, filesystem v3, MSVC 9
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5649> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:06 UTC