I noticed while developing the Windows part of the library that a plain rename fails if the target file already exists. I am not sure if this is a problem only on plain Windows, but we should make sure that the routines behave in the same way on whatever platform. This will enhance the portability.
The test program on plain Windows fails to clean up (because of symlink failing), while the test program on Cygwin does continue to the proper end. That makes it difficult for now to check the behaviour.
My take would be:
An existing file cannot be overwritten by a rename
An existing directory cannot be re-created by mkdir (I think that is part of the system API)
Perhaps there are other similar requirements that we need to take care of.
I noticed while developing the Windows part of the library that a plain rename fails if the target file already exists. I am not sure if this is a problem only on plain Windows, but we should make sure that the routines behave in the same way on whatever platform. This will enhance the portability.
The test program on plain Windows fails to clean up (because of symlink failing), while the test program on Cygwin does continue to the proper end. That makes it difficult for now to check the behaviour.
My take would be:
Perhaps there are other similar requirements that we need to take care of.