src/server/plugins/postgresql/webdav.c

branch
webdav
changeset 374
77506ec632a4
parent 372
1d2538a1ba8f
child 375
32b8017f5308
--- a/src/server/plugins/postgresql/webdav.c	Sat Aug 13 15:56:51 2022 +0200
+++ b/src/server/plugins/postgresql/webdav.c	Sun Aug 14 11:40:54 2022 +0200
@@ -296,10 +296,10 @@
         return NULL;
     }
     
-    return pg_webdav_create_from_resdata(sn, rq, resdata);
+    return pg_webdav_create_from_resdata(sn, rq, repo, resdata);
 }
 
-WebdavBackend* pg_webdav_create_from_resdata(Session *sn, Request *rq, ResourceData *resdata) {
+WebdavBackend* pg_webdav_create_from_resdata(Session *sn, Request *rq, PgRepository *repo, ResourceData *resdata) {
     WebdavBackend *webdav = pool_malloc(sn->pool, sizeof(WebdavBackend));
     if(!webdav) {
         return NULL;
@@ -316,6 +316,9 @@
     instance->pg_resource = resdata;
     instance->connection = resdata->data;
     
+    instance->repository = repo;
+    snprintf(instance->root_resource_id_str, 32, "%" PRId64, repo->root_resource_id);
+    
     return webdav;
 }
 
@@ -384,6 +387,7 @@
     int err = pg_resolve_path(
             pgdav->connection,
             path,
+            pgdav->root_resource_id_str,
             &parent_id,
             &resource_id,
             NULL, // OID
@@ -869,6 +873,7 @@
     int err = pg_resolve_path(
             pgdav->connection,
             path,
+            pgdav->root_resource_id_str,
             &parent_id,
             &resource_id,
             NULL, // OID

mercurial