Ensure file name is valid when exporting torrents

Closes #19275.
Closes #19329.
PR #19403.
This commit is contained in:
Chocobo1 2023-08-04 13:00:48 +08:00 committed by GitHub
parent c4ed40b82f
commit a427b9228d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -818,7 +818,8 @@ void TransferListWidget::exportTorrent()
bool hasError = false; bool hasError = false;
for (const BitTorrent::Torrent *torrent : torrents) for (const BitTorrent::Torrent *torrent : torrents)
{ {
const Path filePath = savePath / Path(torrent->name() + u".torrent"); const QString validName = Utils::Fs::toValidFileName(torrent->name(), u"_"_s);
const Path filePath = savePath / Path(validName + u".torrent");
if (filePath.exists()) if (filePath.exists())
{ {
LogMsg(errorMsg.arg(torrent->name(), filePath.toString(), tr("A file with the same name already exists")) , Log::WARNING); LogMsg(errorMsg.arg(torrent->name(), filePath.toString(), tr("A file with the same name already exists")) , Log::WARNING);