Based on this, if the target is a symbolic link, the copy will fail. What does "If symbolic links are supported, and the file is a symbolic link" mean exactly? Is it talking about the source file here? And is the support of symbolic links default and platform specific or is defined through an option?This method copies a file to the target file with the options parameter specifying how the copy is performed. By default, the copy fails if the target file already exists or is a symbolic link, except if the source and target are the same file, in which case the method completes without copying the file. File attributes are not required to be copied to the target file. If symbolic links are supported, and the file is a symbolic link, then the final target of the link is copied. If the file is a directory then it creates an empty directory in the target location (entries in the directory are not copied).
The way I understand this explanation, if symbolic links are supported and source and destination are BOTH symbolic links - then copy will fail because the target is a symbolic link. If only the source is the symbolic link, then copy will succeed an the target will be copied.
If NOFOLLOW_LINKS option is set and the source is a symbolic link then the link will be copied and not the target file.
A symbolic link in the target file will always cause the method to fail (regardless of support of symbolic links and NOFOLLOW_LINKS option)
Also, what happens if the source file is a symbolic link and symbolic links are not supported. Exception?