Discovery: Don't rebuild invalidFilname regex each call

This commit is contained in:
Christian Kamm 2018-10-19 10:51:25 +02:00 committed by Kevin Ottens
parent 113124cde5
commit ce420d77a8
No known key found for this signature in database
GPG key ID: 074BBBCB8DECC9E2
3 changed files with 5 additions and 5 deletions

View file

@ -157,9 +157,8 @@ bool ProcessDirectoryJob::handleExcluded(const QString &path, bool isDirectory,
// FIXME: move to ExcludedFiles 's regexp ?
bool isInvalidPattern = false;
if (excluded == CSYNC_NOT_EXCLUDED && !_discoveryData->_invalidFilenamePattern.isEmpty()) {
const QRegExp invalidFilenameRx(_discoveryData->_invalidFilenamePattern);
if (path.contains(invalidFilenameRx)) {
if (excluded == CSYNC_NOT_EXCLUDED && !_discoveryData->_invalidFilenameRx.isEmpty()) {
if (path.contains(_discoveryData->_invalidFilenameRx)) {
excluded = CSYNC_FILE_EXCLUDE_INVALID_CHAR;
isInvalidPattern = true;
}

View file

@ -169,7 +169,7 @@ public:
QStringList _selectiveSyncBlackList;
QStringList _selectiveSyncWhiteList;
ExcludedFiles *_excludes;
QString _invalidFilenamePattern; // FIXME: maybe move in ExcludedFiles
QRegExp _invalidFilenameRx; // FIXME: maybe move in ExcludedFiles
bool _ignoreHiddenFiles = false;
std::function<bool(const QString &)> _shouldDiscoverLocaly;

View file

@ -587,7 +587,8 @@ void SyncEngine::slotStartDiscovery()
// version check doesn't make sense for custom servers.
invalidFilenamePattern = "[\\\\:?*\"<>|]";
}
_discoveryPhase->_invalidFilenamePattern = invalidFilenamePattern;
if (!invalidFilenamePattern.isEmpty())
_discoveryPhase->_invalidFilenameRx = QRegExp(invalidFilenamePattern);
_discoveryPhase->_ignoreHiddenFiles = ignoreHiddenFiles();
connect(_discoveryPhase.data(), &DiscoveryPhase::itemDiscovered, this, &SyncEngine::slotItemDiscovered);