Compare commits

..

1 Commits

Author SHA1 Message Date
janrupf
3bdf63b0ee GH-2065 Strip non ASCII chars 2019-06-22 01:35:07 +02:00
2 changed files with 8 additions and 10 deletions

View File

@@ -304,6 +304,10 @@ QString RemoveInvalidFilenameChars(QString string, QChar replaceWith)
{
string[i] = replaceWith;
}
else if(string[i] > 127) // non ASCII
{
string[i] = replaceWith;
}
}
return string;
}
@@ -321,7 +325,7 @@ QString DirNameFromString(QString string, QString inDir)
}
else
{
dirName = baseName + QString::number(num);
dirName = baseName + QString::number(num);;
}
// If it's over 9000

View File

@@ -805,18 +805,12 @@ QString InstanceList::getStagedInstancePath()
bool InstanceList::commitStagedInstance(const QString& path, const QString& instanceName, const QString& groupName)
{
QDir dir;
QString instID = FS::DirNameFromString(instanceName, m_instDir);
QString instanceDirName = instID;
if(instanceDirName.length() > 180)
{
instanceDirName.truncate(176);
instanceDirName += instID.at(instID.length() - 4); // In case the last 4 chars were changed
// to prevent double folder names
}
{
WatchLock lock(m_watcher, m_instDir);
QString destination = FS::PathCombine(m_instDir, instanceDirName);
if(!QDir().rename(path, destination))
QString destination = FS::PathCombine(m_instDir, instID);
if(!dir.rename(path, destination))
{
qWarning() << "Failed to move" << path << "to" << destination;
return false;