id summary reporter owner description type status milestone component version severity resolution keywords cc 12665 boost::filesystem::path::replace_extension(const path& new_extension) produces inintuitive path on special directory Guillaume Labourey Beman Dawes "Hi, I have read the specification of boost::filesystem::path::replace_extension(const path& new_extension). It is very helpful in most of common use but the method may be ignore replacement when path represents the following cases: - dot (.) - dot-dot (..) - root-name (C:, //myserver, \\myserver) The version available in boost 1.62.0 provide the following behaviour {{{ Replace extension on root path: (arguable) ------------------------------------------ replace_extension(""/"",""txt"") = ""/.txt"" replace_extension(""C:\"",""txt"") = ""C:\.txt"" Replace extension on special file-name -------------------------------------- replace_extension(""."",""txt"") = ""..txt"" replace_extension("".."",""txt"") = ""...txt"" replace_extension(""/foo/."",""txt"") = ""/foo/..txt"" replace_extension(""/foo/.."",""txt"") = ""/foo/...txt"" Replace extension on root-name ------------------------------ replace_extension(""C:"",""txt"") = ""C:.txt"" replace_extension(""\\myserver"",""txt"") = ""\\myserver.txt"" }}} Regards, Guillaume" Feature Requests new To Be Determined filesystem Boost 1.62.0 Problem filesystem path replace_extension