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 ? // FIXME: move to ExcludedFiles 's regexp ?
bool isInvalidPattern = false; bool isInvalidPattern = false;
if (excluded == CSYNC_NOT_EXCLUDED && !_discoveryData->_invalidFilenamePattern.isEmpty()) { if (excluded == CSYNC_NOT_EXCLUDED && !_discoveryData->_invalidFilenameRx.isEmpty()) {
const QRegExp invalidFilenameRx(_discoveryData->_invalidFilenamePattern); if (path.contains(_discoveryData->_invalidFilenameRx)) {
if (path.contains(invalidFilenameRx)) {
excluded = CSYNC_FILE_EXCLUDE_INVALID_CHAR; excluded = CSYNC_FILE_EXCLUDE_INVALID_CHAR;
isInvalidPattern = true; isInvalidPattern = true;
} }

View file

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

View file

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