Tags: boostorg/filesystem
Tags
Canonicalize root paths in tests. Since the current and initial paths on Windows may have non-canonical root paths (i.e. "c:\" instead of "C:\"), path comparisons may fail because of the case differences between the canonicalized paths and the expected paths. To avoid these spurious failures, canonicalize root paths in all expected paths.
Canonicalize root paths in tests. Since the current and initial paths on Windows may have non-canonical root paths (i.e. "c:\" instead of "C:\"), path comparisons may fail because of the case differences between the canonicalized paths and the expected paths. To avoid these spurious failures, canonicalize root paths in all expected paths.
Fix weakly_canonical with relative input paths. When weakly_canonical was called with a relative input path, the operation would test path elements for existence, which meant resolving them relative to the current path instead of the base path specified in the call. To mitigate this, make the source path absolute using the specified base path. As a side effect, this fixes incorrect path produced on Windows if the input path started with "..". The algorithm was unable to remove the last element of the head path because there was none. As a result, the remaining elements of the input path were appended to the full base path by canonical. Fixes to #311.
Fix weakly_canonical with relative input paths. When weakly_canonical was called with a relative input path, the operation would test path elements for existence, which meant resolving them relative to the current path instead of the base path specified in the call. To mitigate this, make the source path absolute using the specified base path. As a side effect, this fixes incorrect path produced on Windows if the input path started with "..". The algorithm was unable to remove the last element of the head path because there was none. As a result, the remaining elements of the input path were appended to the full base path by canonical. Fixes to #311.
Moved Boost.Core to private dependencies in CMakeLists.txt.
Use libstdc++11 with clang prior to 16 in GHA CI. Clang before version 16 is not compatible with libstdc++13 in C++23 mode. libstdc++13 is customly installed in GHA ubuntu-22.04 images.
Added a note about deprecation of Windows versions prior to 10.
Relax access rights for GetFileTime on Windows. GetFileTime is documented to require GENERIC_READ access right, but this causes problems if the file is opened by another process without FILE_SHARE_READ. In practice, FILE_READ_ATTRIBUTES works, and FILE_READ_EA is also added for good measure, in case if it matters for SMBv1. If this doesn't work in some case, we might switch to GetFileInformationByHandle(Ex) in the future. Fixes #290.
Added a new cstdio.hpp header with fopen overload. This overload takes filesystem::path as its first argument to support wide character paths on Windows. Other than this, the overload is equivalent to std::fopen.
PreviousNext