On 5/12/22 11:33, Chris Trueman via Boost wrote:
Using an exFat formatted disk with Windows.
Start with a path:
e:\tmp
Call filesystem::create_directories("e:\\tmp\\boost")
This should succeed, creating the boost folder in e:\tmp.
It fails with boost 1.79.0. It tries to create e:\tmp which already exists.
In boost 1.78.0 this works as expected.
I believe the root cause is the change to status(...). It calls detail::symlink_status(...) which calls GetFileInformationByHandleEx which (at least for the params used in filesystem) doesn't work on exFat formatted disks.
Can you tell what error code GetFileInformationByHandleEx returns? Also, can you test if the other path using GetFileInformationByHandle works on this filesystem? PS: You can report problems on GitHub: https://github.com/boostorg/filesystem/issues