src/server/webdav/webdav.c

branch
webdav
changeset 249
3b302093945c
parent 247
1df803e06076
child 251
f727a21497bb
--- a/src/server/webdav/webdav.c	Sun May 31 17:31:43 2020 +0200
+++ b/src/server/webdav/webdav.c	Sun May 31 19:35:29 2020 +0200
@@ -537,6 +537,23 @@
         return 1;
     }
     
+    // add root to list of dir list
+    DeleteFile root;
+    root.path = op->path;
+    root.s = *op->stat;
+    UcxList root_elm;
+    root_elm.data = &root;
+    root_elm.prev = NULL;
+    root_elm.next = del.dirs_begin;
+    
+    if(del.dirs_begin) {
+        del.dirs_begin->prev = &root_elm;
+        del.dirs_begin = &root_elm;
+    } else {
+        del.dirs_begin = &root_elm;
+        del.dirs_end = &root_elm;
+    }
+    
     // delete files first
     UCX_FOREACH(elm, del.files_begin) {
         DeleteFile *file = elm->data;
@@ -570,6 +587,7 @@
         sys_set_error_status(op->vfs);
         return REQ_ABORTED;
     }
+    op->stat = &s;
     
     int ret;
     if(S_ISDIR(s.st_mode)) {

mercurial