# HG changeset patch
# User Mike Becker <universe@uap-core.de>
# Date 1413047111 -7200
# Node ID e9b102d5a6f65f6497006e7a9061efe3a17926f7
# Parent  cdca2eef48ee54eba27869a8af1cf2762fb3ec42
fixed include/exclude filter for dav-sync

diff -r cdca2eef48ee -r e9b102d5a6f6 dav/sync.c
--- a/dav/sync.c	Mon Sep 01 17:09:18 2014 +0200
+++ b/dav/sync.c	Sat Oct 11 19:05:11 2014 +0200
@@ -109,22 +109,19 @@
 }
 
 static int res_matches_filter(SyncDirectory *dir, char *res_path) {
-    
     UCX_FOREACH(inc, dir->include) {
         regex_t* pattern = (regex_t*) inc->data;
-        if (regexec(pattern, res_path, 0, NULL, 0)) {
-            return 1;
+        if (regexec(pattern, res_path, 0, NULL, 0) == 0) {
+            UCX_FOREACH(exc, dir->exclude) {
+                regex_t* pattern = (regex_t*) exc->data;
+                if (regexec(pattern, res_path, 0, NULL, 0) == 0) {
+                    return 1;
+                }
+            }
+            return 0;
         }
     }
-    
-    UCX_FOREACH(exc, dir->exclude) {
-        regex_t* pattern = (regex_t*) exc->data;
-        if (!regexec(pattern, res_path, 0, NULL, 0)) {
-            return 1;
-        }
-    }
-    
-    return 0;
+    return 1;
 }
 
 int cmd_pull(CmdArgs *a) {