I prefer your original patch, only issue was with the #ifdefs sprinkled throughout that cluttered the code. I suggest you create a wrapper func that contains the ifdef called getSharedFilePath()/getSharedFileName() that then calls Text::toLower() and Util::getFile*() as necessary for the target platform. Since arne said that we basically can't change the behavior of the windows code, this will allow us to keep the status quo for windows while adding our case sensitive code.
Arne, would this be acceptable? If a linux users serves up two files with the same case insensitive name to windows users, it should just fail when finished downloading and moving to the target destination, I believe. Or is your quote about adc and nmdc not allowing files with a different case need to apply to linux as well? If so, please explain the impact. -- case-sensitivity in Unix systems https://bugs.launchpad.net/bugs/311818 You received this bug notification because you are a member of LinuxDC++ Team, which is subscribed to LinuxDC++. Status in DC++: In Progress Status in Linux DC++: Confirmed Bug description: Unix systems have case-sensitive file-systems. The core however converts all file and directory-names to lower case. Which gives problems if files are shared with the same text and different cases. example: In the share there's a file fubar.txt and a file Fubar.txt. Then these two files will be hashed every time dc is started. I don't know why all filenames are converted to lower case for Windows, but for other OS's it's not wanted. So I've added a possible fix which checks for OS. _______________________________________________ Mailing list: https://launchpad.net/~linuxdcpp-team Post to : [email protected] Unsubscribe : https://launchpad.net/~linuxdcpp-team More help : https://help.launchpad.net/ListHelp

