diff options
author | Christian Kamm <mail@ckamm.de> | 2017-11-28 10:50:14 +0300 |
---|---|---|
committer | ckamm <mail@ckamm.de> | 2017-12-07 16:38:21 +0300 |
commit | 5d668eca4062a89525a8ff7544c533aa33f30bec (patch) | |
tree | c6c931e10a6f89b9b6dae3a40e1c51dfc3d71346 | |
parent | 7ab127ad53311b2a43cb17894e17e45a5451b7cb (diff) |
Excludes: Optimize Desktop.ini check
-rw-r--r-- | src/csync/csync_exclude.cpp | 10 | ||||
-rw-r--r-- | test/csync/csync_tests/check_csync_exclude.cpp | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/csync/csync_exclude.cpp b/src/csync/csync_exclude.cpp index 04ca68b16..37f898486 100644 --- a/src/csync/csync_exclude.cpp +++ b/src/csync/csync_exclude.cpp @@ -310,10 +310,12 @@ static CSYNC_EXCLUDE_TYPE _csync_excluded_common(const QList<QByteArray> &exclud #endif /* We create a desktop.ini on Windows for the sidebar icon, make sure we don't sync them. */ - rc = csync_fnmatch("Desktop.ini", bname, 0); - if (rc == 0) { - match = CSYNC_FILE_SILENTLY_EXCLUDED; - goto out; + if (blen == 11) { + rc = csync_fnmatch("Desktop.ini", bname, 0); + if (rc == 0) { + match = CSYNC_FILE_SILENTLY_EXCLUDED; + goto out; + } } if (!OCC::Utility::shouldUploadConflictFiles()) { diff --git a/test/csync/csync_tests/check_csync_exclude.cpp b/test/csync/csync_tests/check_csync_exclude.cpp index 8bcf95fdb..9329ca6de 100644 --- a/test/csync/csync_tests/check_csync_exclude.cpp +++ b/test/csync/csync_tests/check_csync_exclude.cpp @@ -258,6 +258,8 @@ static void check_csync_excluded_traversal(void **) assert_int_equal(check_file_traversal(".sync_5bdd60bdfcfa.db-shm"), CSYNC_FILE_SILENTLY_EXCLUDED); assert_int_equal(check_file_traversal("subdir/.sync_5bdd60bdfcfa.db"), CSYNC_FILE_SILENTLY_EXCLUDED); + /* Other builtin excludes */ + assert_int_equal(check_file_traversal("foo/Desktop.ini"), CSYNC_FILE_SILENTLY_EXCLUDED); /* pattern ]*.directory - ignore and remove */ assert_int_equal(check_file_traversal("my.~directory"), CSYNC_FILE_EXCLUDE_AND_REMOVE); |