[Boost-bugs] [Boost C++ Libraries] #12904: canonical fails for relative symbolic link on NTFS

Subject: [Boost-bugs] [Boost C++ Libraries] #12904: canonical fails for relative symbolic link on NTFS
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-03-14 16:24:57


#12904: canonical fails for relative symbolic link on NTFS
-------------------------------------------------+-------------------------
 Reporter: Matthias@… | Owner: bemandawes
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: filesystem
  Version: Boost 1.63.0 | Severity: Problem
 Keywords: filesystem canonical symbolic link |
  symlink assert |
-------------------------------------------------+-------------------------
 I've an path inside a directory which is a symbolic link at an NTFS
 partition.
 The link points to a another directory in the same base directory.

 boost throws
 {{{
 BOOST_ASSERT_MSG(result.is_absolute(), "canonical() implementation error;
 please report");
 }}}
 in {{{operations.cpp, line 881}}}

 Here are more details:
 I call {{{boost::filesystem::canonical}} with following ({{{const
 wchar_t*}}}) parameter:
  {{{L"C:\\Projekte\\50_Workspace\\out\\x64\\.\\audio\\Test.dll"}}}
 The current working directory is
   {{{L"C:\\Projekte\\50_Workspace\\out\\x64"}}}
 which is a symlink to {{{"x64.Debug"}} in the same base directory (in
 {{{"C:\\Projekte\\50_Workspace\\out"}}}).

 Boost detects that the {{{"x64"}}} is a relative symbolic link and enters
 the {{{"else"}}} in {{{line 868}}}.
 But the created new_source looks strange:
  {{{"x64.Debug/Projekte\\50_Workspace\\out\\x64\\.\\audio\\Test.dll"}}}
 In my opinion it should create either
  {{{"C:\\Project\\50_Workspace\\out\\x64.Debug\\.\\audio\\Test.dll"}}}
 or
  {{{"C:/Project/50_Workspace/out/x64.Debug/./audio/Test.dll"}}}
 for the next loop...

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12904>
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-03-14 16:28:19 UTC