diff --git a/src/base/utils/fs.cpp b/src/base/utils/fs.cpp index eabe5a91d..31d721400 100644 --- a/src/base/utils/fs.cpp +++ b/src/base/utils/fs.cpp @@ -236,7 +236,19 @@ bool Utils::Fs::isValidFileSystemName(const QString &name, bool allowSeparators) { if (name.isEmpty()) return false; - const QRegularExpression regex(allowSeparators ? "[:?\"*<>|]" : "[\\\\/:?\"*<>|]"); +#if defined(Q_OS_WIN) + const QRegularExpression regex {allowSeparators + ? QLatin1String("[:?\"*<>|]") + : QLatin1String("[\\\\/:?\"*<>|]")}; +#elif defined(Q_OS_MACOS) + const QRegularExpression regex {allowSeparators + ? QLatin1String("[\\0:]") + : QLatin1String("[\\0/:]")}; +#else + const QRegularExpression regex {allowSeparators + ? QLatin1String("[\\0]") + : QLatin1String("[\\0/]")}; +#endif return !name.contains(regex); } diff --git a/src/gui/torrentcontenttreeview.cpp b/src/gui/torrentcontenttreeview.cpp index 285d3f568..6459f6cf5 100644 --- a/src/gui/torrentcontenttreeview.cpp +++ b/src/gui/torrentcontenttreeview.cpp @@ -109,7 +109,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentHandle *torre , modelIndex.data().toString(), &ok, isFile).trimmed(); if (!ok) return; - if (newName.isEmpty() || !Utils::Fs::isValidFileSystemName(newName)) { + if (!Utils::Fs::isValidFileSystemName(newName)) { RaisedMessageBox::warning(this, tr("Rename error"), tr("The name is empty or contains forbidden characters, please choose a different one."), QMessageBox::Ok); @@ -228,7 +228,7 @@ void TorrentContentTreeView::renameSelectedFile(BitTorrent::TorrentInfo &torrent , modelIndex.data().toString(), &ok, isFile).trimmed(); if (!ok) return; - if (newName.isEmpty() || !Utils::Fs::isValidFileSystemName(newName)) { + if (!Utils::Fs::isValidFileSystemName(newName)) { RaisedMessageBox::warning(this, tr("Rename error"), tr("The name is empty or contains forbidden characters, please choose a different one."), QMessageBox::Ok);