|
Boost : |
From: Beman Dawes (bdawes_at_[hidden])
Date: 2004-11-26 14:42:43
At 02:39 AM 11/22/2004, Daniel Krügler wrote:
>Hi booster,
>
>its quite a long time ago since I could follow the threads here more
>thoroughly :-( , so the following information might not be new one.
>
>During tests of the current Win32 implementation of
>boost::filesystem::equivalent I observed that the function unexpectingly
>fails (my test environment was Win XP SP 1 with MSVC7.1) if it compares
>a "soft link" created via the DOS command "subst" (or its API analogon
>::DefineDosDeviceA/W) with the corresponding mapped path object (Lets
>say I map M: to the existing directory C:\temp).
>...
>
>If the VSN' and further data have returned a positive result, but the
>check of both st_dev values fails, one should try to check whether the
>underlying devices are actually the same, e.g. using the
>::QueryDosDeviceA/W API function.
I couldn't see an easy way to determine the drive needed for calling
::QueryDosDeviceA/W.
As an alternative, I removed the st_dev test and added a last_write_time
test. Documentation also updated. See current CVS. To make it easier to
experiment, I also added in the test directory a program equivalent.cpp.
This seems to solve the problem.
Please give it a try, and let me know if you are still having any problems.
Thanks,
--Beman
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk