dav/sync.c

changeset 56
99f7816fcf01
parent 55
4cb389452a44
child 57
3c1ce5f203d7
--- a/dav/sync.c	Mon Aug 04 12:53:36 2014 +0200
+++ b/dav/sync.c	Mon Aug 04 14:33:56 2014 +0200
@@ -130,11 +130,18 @@
         return -1;
     }
     
+    char *new_url = NULL;
+    if(dir->collection) {
+        new_url = util_concat_path(repo->url, dir->collection);
+    }
     DavSession *sn = dav_session_new_auth(
             ctx,
-            repo->url,
+            new_url ? new_url : repo->url,
             repo->user,
             repo->password);
+    if(new_url) {
+        free(new_url);
+    }
     dav_session_set_flags(sn, get_repository_flags(repo));
     sn->key = dav_context_get_key(ctx, repo->default_key);
     
@@ -372,11 +379,18 @@
         return -1;
     }
     
+    char *new_url = NULL;
+    if(dir->collection) {
+        new_url = util_concat_path(repo->url, dir->collection);
+    }
     DavSession *sn = dav_session_new_auth(
             ctx,
-            repo->url,
+            new_url ? new_url : repo->url,
             repo->user,
             repo->password);
+    if(new_url) {
+        free(new_url);
+    }
     dav_session_set_flags(sn, get_repository_flags(repo));
     sn->key = dav_context_get_key(ctx, repo->default_key);
     

mercurial