← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 311818] Re: case-sensitivity in Unix systems

 

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.