files with slashes "/" in their names can't be downloaded

Description: 
If I try to download a file whose name is for example "cat / dog.mp3", soulseek will try to get the file " dog.mp3" in a "cat " folder. It will result in a "file not shared" error because of course this folder does not exists.
0
Your rating: None
0
No votes yet

Comments

Yeah.. I doubt there's anything I can do about that. With Qt using the / character as a folder separator in the style of unix, it would be very tricky to get SoulseekQt to recognize it as a valid filename character on Windows...

On Windows you can't create a file with a forward slash in the filename, nor is such a file supported on disk. With regular APIs you also can't create or access files with \ : * ? " < > in them, but they can exist on disk (created by other means, such as from unix). Ideally, if Soulseek tries to download a file with any of these disallowed characters in the name, the characters should be replaced on the receiving end.

If the problem is that SoulseekQt isn't parsing search/browse results properly to know that the filename is "cat / dog.mp3" and not dog.mp3 in a cat folder, that seems like it should be fixable, no? Unless the results don't escape the slash...

Yeah, it's possible, it's just a pain in the ass. The Soulseek protocol uses forward slashes because the client was originally developed for Windows only. Qt uses backslashes by default regardless of platform, so I use that for internal storage and convert before sending through the network. You could certainly argue it makes more sense to keep the internal representation consistent with the Soulseek protocol, but it's a matter of time for me. I may be starting a new job soon so I have to prioritize what I do with the time I have left.