
Beman Dawes schrieb:
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.
Sorry for the late response Beman! Although I think that the proposed test could be done (I will send you some code in 1/2 days), I will also test your new implementation. Greetings, Daniel