linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #00442
[Bug 351208] Re: Filenames as opaque strings
** Changed in: linuxdcpp
Importance: Undecided => Medium
** Changed in: linuxdcpp
Status: New => Confirmed
** Changed in: dcplusplus
Importance: Undecided => Medium
** Changed in: dcplusplus
Status: New => Confirmed
--
Filenames as opaque strings
https://bugs.launchpad.net/bugs/351208
You received this bug notification because you are a member of LinuxDC++
Team, which is subscribed to LinuxDC++.
Status in DC++: Confirmed
Status in Linux DC++: Confirmed
Bug description:
DC++ currently have many problems with filenames. Problems include case-sensitivity (bug #311818) and trying to store filenames as text strings (bug #300728).
I propose that all filenames should be treated as binary data. The File class, etc, should use an 8bit opaque std::string. These opaque strings should not be modified anywhere. When a filename needs to be shown to the user, these opaque strings should be decoded into displayable strings. These displayable strings are only used as output to the GUI, and are not allowed to be interpreted back as filenames again.
Using opaque filenames, many of the more spurious errors could be remedied, including the previously mentioned. Case-sensitivity could be implemented on the search index only.
This has been considered for a long time now (on #linuxdc++), this is a document to have something to agree upon.