diff -r bc8f8ddbad2e -r 3b302093945c src/server/webdav/webdav.c --- 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)) {