Browse Source

Drop extension from generated content folder name

Try to detect whether generated content folder name contains extension
and drop it to avoid possible conflicts between file/folder names.
adaptive-webui-19844
Vladimir Golovnev (Glassez) 4 years ago
parent
commit
ae29e8bbab
No known key found for this signature in database
GPG Key ID: 52A2C7DEE2DFA6F7
  1. 14
      src/base/bittorrent/torrentinfo.cpp

14
src/base/bittorrent/torrentinfo.cpp

@ -481,9 +481,17 @@ void TorrentInfo::stripRootFolder()
void TorrentInfo::addRootFolder() void TorrentInfo::addRootFolder()
{ {
const QString rootFolder = name(); const QString originalName = name();
Q_ASSERT(!rootFolder.isEmpty()); Q_ASSERT(!originalName.isEmpty());
const QString extension = Utils::Fs::fileExtension(originalName);
const QString rootFolder = extension.isEmpty()
? originalName
#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0))
: originalName.chopped(extension.size() + 1);
#else
: originalName.left(originalName.size() - (extension.size() + 1));
#endif
const std::string rootPrefix = Utils::Fs::toNativePath(rootFolder + QLatin1Char {'/'}).toStdString(); const std::string rootPrefix = Utils::Fs::toNativePath(rootFolder + QLatin1Char {'/'}).toStdString();
lt::file_storage files = m_nativeInfo->files(); lt::file_storage files = m_nativeInfo->files();
files.set_name(rootFolder.toStdString()); files.set_name(rootFolder.toStdString());

Loading…
Cancel
Save